在现有Kubernetes集群中扩展Node节点(二进制安装)

现有Kubernetes集群扩展Node节点,算是常规操作;那么,如何扩展呢?使用kubeadm会很轻易的进行扩展:kubeadm join xx.xx.xx.xx:6443 --token ……,二进制安装则要稍稍麻烦一些。

该文章的前提条件是:您了解如何进行二进制安装Kubernetes集群。这里只探讨首次安装kubernetes集群时,node安装和后续扩展node的不同点。

安装步骤

和新创建Kubernetes集群时的Node节点安装一样,需要:

1、初始化服务器(内核参数调优、关闭不必要服务、配置hostname、配置/etc/hosts文件、关闭swap、关闭防火墙、关闭selinux、配置时间同步服务等);

2、解压安装介质,安装docker或者containerd等

3、拷贝“CA签名证书”和“kubelet bootstrap kubeconfig 文件”、“kube-proxy kubeconfig 文件”到Node节点

4、配置kubelet和kube-proxy

5、启动kubelet、kube-proxy

6、此时查看Node状态应该是NotReady,等待Calico组件初始化并启动成功后,就会变成Ready状态

这里唯一不同在第3,因为bootstrap tokens的有效期是24小时,超期后将不能再被用来 boostrap kubelet,且会被 kube-controller-manager 的 tokencleaner 清理;所以,此时需要创建新的token,然后使用该token创建新的“kubelet bootstrap kubeconfig 文件”。

FAQ

启动kubelet后报错:"Unable to register node with API server" err="Post \"https://127.0.0.1:6443/api/v1/nodes\": x509: certificate has expired or is not yet valid: current time 2013-09-22T17:52:18+08:00 is before 2023-09-21T07:26:00Z" node="k8s-node-100"

定位与解决:

该问题是由于node上未配置时间同步,而系统时间刚好和API差异较大,显示为证书过期,配置时间同步,然后重启kubelet问题解决。

你可能感兴趣的:(云计算-容器云,kubernetes,容器,云原生)