从零开始创建k8s集群(二)

上一章主要安装容器运行环境,这一章讲使用kubeadm来创建k8s集群

1.安装kubeadm, kubelet and kubectl

在所有计算机上安装这些软件包

  • kubeadm:用来引导集群的命令
  • kubelet:在群集中的所有计算机上运行的组件,并执行诸如启动pod和容器之类的操作。
  • kubectl:用于与群集通信的命令工具

kubeadm不会安装或者管理kubelet和kubectl,因此,您需要确保它们与kubeadm安装的Kubernetes control plane的版本相匹配。如果不这样做,则存在版本偏差的风险,这可能导致意外的错误行为。但是kubelet和control plane之间的一个小版本是相互支持的,不过kubelet版本永远不会超过API server版本。例如,运行1.7.0的kubelet应该与1.8.0 API服务器完全兼容,但不能相反。

#允许apt使用https方式下载安装秘钥。
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
#通过apt安装kubelet kubeadm kubectl
apt-get install -y kubelet kubeadm kubectl
#标记kubelet kubeadm kubectl不自动更新
apt-mark hold kubelet kubeadm kubectl

现在kubelet没几秒钟会重启一次直到kubeadm告诉它做什么。

2.配置control plane节点上的kubelet使用cgroup驱动程序

使用Docker时,kubeadm会自动检测kubelet的cgroup驱动程序并在运行时将其设置在

/var/lib/kubelet/kubeadm-flags.env

文件里。如果你用其他的容器运行环境,你需要将

/etc/default/kubelet

文件修改成你的cgroup-driver值。比如:

KUBELET_EXTRA_ARGS=--cgroup-driver=<value>

这个文件会被

kubeadm init

kubeadm join

命令用来为kubelet提供额外的用户定义参数。

请注意,当你的容器运行环境的cgroup驱动不是cgroupfs才这样做。因为它的默认值在kubelet中的已经有了。

需要重启kubelet

systemctl daemon-reload
systemctl restart kubelet

cgroup驱动会在运行中会自动发现其他像CRI-O的容器运行环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值