2020年发布的kubernetes1.20是第三个版本!这个版本包含了42个增强:11个增强已经稳定,15个增强进入beta, 16个增强进入alpha。
重大变化
官方声明1.20版本将弃用docker
但是1.20版本仍然兼容docker,可以使用docker命令,kuberbetes官方发表博客,会在后续版本中取消docker,但是如今大部分容器仍然使用docker。
官方博客给出的原因:我们在这里谈论的是两种不同的环境,这造成了混乱。在您的Kubernetes集群内部,有一个称为容器运行时的东西,它负责拉出和运行容器映像。Docker是该运行时的流行选择(其他常见选项包括容器和CRI-O),但是Docker并非旨在嵌入Kubernetes中,这会引起问题。
您会看到,我们所谓的“ Docker”实际上不是一件事,它是整个技术堆栈,其中一部分是所谓的“ containerd”,它本身就是一个高级容器运行时。Docker很酷且有用,因为它具有许多UX增强功能,使我们在进行开发工作时真的很容易与人进行交互,但是对于kubernetes而言,这些UX增强不是必需的,因为它不是人。
官方博客建议:不建议使用TL; DR Docker作为基础运行时,而应使用使用 为Kubernetes创建的Container Runtime Interface(CRI)的运行时。Docker生成的映像将一如既往地在所有运行时中继续在您的集群中运行。
如果您是Kubernetes的最终用户,则不会为您带来很多改变。这并不意味着Docker的消亡,也不意味着您不能或不应该再将Docker用作开发工具。Docker仍然是用于构建容器的有用工具,并且运行产生的映像docker build
仍可以在您的Kubernetes集群中运行。
如果您使用的是托管的Kubernetes服务,例如GKE,EKS或AKS(默认为containerd),则需要确保您的工作节点正在使用受支持的容器运行时,然后才能在将来的Kubernetes版本中删除Docker支持。如果您具有节点自定义项,则可能需要根据您的环境和运行时要求对其进行更新。请与您的服务提供商合作,以确保正确的升级测试和计划。
如果要滚动自己的集群,则还需要进行更改以避免集群中断。在v1.20,您将收到Docker的弃用警告。在将来的Kubernetes版本(目前计划在2021年下半年为1.22版本)中删除Docker运行时支持时,它将不再受支持,并且您将需要切换到其他兼容的容器运行时之一,例如containerd或CRI-O 。只要确保您选择的运行时支持您当前使用的docker守护程序配置即可(例如,日志记录)。
Dockershim弃用
Dockershim,用于Docker的容器运行时接口(CRI)垫片正在被弃用。对Docker的支持已被否决,并将在未来的版本中删除。
官方博客给出:在v1.23发行版中从Kubelet中删除了Dockershim,从而删除了对Docker作为容器运行时的支持。
参考官方博客:https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/
下面我们实战安装一下kubernetes1.20
- 本次安装主要是用来学习kubernetes1.20安装的相关过程及组件的配置,若用于企业实践可根据具体需要在节点添加相应的组件
- 前面文章给出了如何在物理机上安装centos操作系统&#