kubernetes 源码安装1.18.3 (9)新增node节点

K8s节点配置
本文介绍如何通过复制master节点配置来快速搭建Kubernetes集群的其他节点。包括拷贝配置文件、证书管理、服务启动及证书审批流程等关键步骤。

1. 将master节点node组件配置拷贝到其他节点(21/22)

#拷贝kubernetes目录
scp -r /opt/kubernetes root@192.168.1.21:/opt/
scp -r /opt/kubernetes root@192.168.1.22:/opt/

#拷贝服务文件
scp -r /usr/lib/systemd/system/{kubelet,kube-proxy}.service root@192.168.1.21:/usr/lib/systemd/system
scp -r /usr/lib/systemd/system/{kubelet,kube-proxy}.service root@192.168.1.22:/usr/lib/systemd/system

#拷贝网络文件
scp -r /opt/cni/ root@192.168.1.21:/opt/
scp -r /opt/cni/ root@192.168.1.22:/opt/

2. node节点操作

#删除 kubelet 证书和 kubeconfig 文件
#这几个文件是证书申请审批后自动生成的,每个 Node 不同,必须删除重新生成。
rm -f /opt/kubernetes/cfg/kubelet.kubeconfig
rm -f /opt/kubernetes/ssl/kubelet*


#修改配置
#192.168.1.21
vi /opt/kubernetes/cfg/kubelet.conf
--hostname-override=192.168.1.21     #修改为当前主机ip

#192.168.1.22
vi /opt/kubernetes/cfg/kube-proxy-config.yml
hostnameOverride: 192.168.1.22       #修改为当前主机ip


#启动服务
systemctl daemon-reload
systemctl start kubelet
systemctl enable kubelet
systemctl start kube-proxy
systemctl enable kube-proxy

3. 在 Master 上批准新 Node kubelet 证书申请

1. 查看证书申请

kubectl get csr

返回

NAME                                                   AGE   SIGNERNAME                                    REQUESTOR           CONDITION
node-csr--se0AYTJbjp9QamNmKGTG0wo3WhLEpQEh4H2H0VFZnA   38m   kubernetes.io/kube-apiserver-client-kubelet   kubelet-bootstrap   Approved,Issued
#可以看到下面俩后面是pending的
node-csr-26oUoIGDYFzO2zwxbTiZzyh4dyP__0gIJJ76_-oDz4o   51s   kubernetes.io/kube-apiserver-client-kubelet   kubelet-bootstrap   Pending
node-csr-FaleuFdqLTkMUx67iB_apwasENwjmTilU8UPkOKX4p4   54s   kubernetes.io/kube-apiserver-client-kubelet   kubelet-bootstrap   Pending

2. 申请证书

kubectl certificate approve node-csr-26oUoIGDYFzO2zwxbTiZzyh4dyP__0gIJJ76_-oDz4o
kubectl certificate approve node-csr-FaleuFdqLTkMUx67iB_apwasENwjmTilU8UPkOKX4p4

4. 查看集群网络插件

[root@k8s-master01 k8s]# kubectl get pod -n kube-system
NAME                    READY   STATUS    RESTARTS   AGE
kube-flannel-ds-fwr8p   1/1     Running   0          70s
kube-flannel-ds-n82ch   1/1     Running   0          71s
kube-flannel-ds-pb9wm   1/1     Running   0          17m

 

 

5. 查看集群节点

[root@k8s-master01 ~]# kubectl get node
NAME           STATUS   ROLES    AGE    VERSION
192.168.1.20   Ready    <none>   6d2h   v1.18.3
192.168.1.21   Ready    <none>   6d1h   v1.18.3
192.168.1.22   Ready    <none>   6d1h   v1.18.3


#参数说明
NAME   #节点的名称,不如说是kubelet指定的名称,并非是node的ip地址
       #对应节点上--(/opt/kubernetes/cfg/kubelet.conf)文件中 --hostname-override=192.168.1.20  参数
       #可以设置为主机名,不过不方便识别



STATUS   #节点的状态  主要有Ready(完成)/notReday(未完成)两种(其他的没见过)
         #在部署网络插件后为ready状态
         #如果没有部署网络插件则为notReday,(可以查看到node污点上有not-reday的污点表示集群未准备好)
        #如果部署网络插件完成后ready,随后又notready,就检查node节点上的kubelet组件和docker是否正常

这里显示的是所有安装了kubelet、kube-proxy组件的节点 (node节点)
如果master节点不安装上面2个组件,同样也不会显示的
在有一些环境下,为了保证master节点的组件保证高性能的使用,是不作为工作节点存在的。

 

6. 查看组件状态

[root@k8s-master01 ~]# kubectl get cs
NAME                 STATUS    MESSAGE             ERROR
controller-manager   Healthy   ok                  
scheduler            Healthy   ok                  
etcd-0               Healthy   {"health":"true"}   
etcd-1               Healthy   {"health":"true"}   
etcd-2               Healthy   {"health":"true"} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值