k8s的二进制部署的node组件
在 node01 节点上操作。
·
部署 Worker Node 组件
在所有 node 节点上操作
创建kubernetes工作目录
mkdir -p /opt/kubernetes/{bin,cfg,ssl,logs}
上传 node.zip 到 /opt 目录中,解压 node.zip 压缩包,获得kubelet.sh、proxy.sh
cd /opt/
unzip node.zip
chmod +x kubelet.sh proxy.sh
在 master01 节点上操作
把 kubelet、kube-proxy 拷贝到 node 节点
cd /opt/k8s/kubernetes/server/bin
scp kubelet kube-proxy root@20.0.0.72:/opt/kubernetes/bin/
scp kubelet kube-proxy root@20.0.0.73:/opt/kubernetes/bin/
上传kubeconfig.sh文件到/opt/k8s/kubeconfig目录中,生成kubelet初次加入集群引导kubeconfig文件和kube-proxy.kubeconfig文件
mkdir /opt/k8s/kubeconfig
cd /opt/k8s/kubeconfig
chmod 777 kubeconfig.sh
./kubeconfig.sh 20.0.0.70 /opt/k8s/k8s-cert/
把配置文件 bootstrap.kubeconfig、kube-proxy.kubeconfig 拷贝到 node 节点
scp bootstrap.kubeconfig kube-proxy.kubeconfig root@20.0.0.72:/opt/kubernetes/cfg/
scp bootstrap.kubeconfig kube-proxy.kubeconfig root@20.0.0.73:/opt/kubernetes/cfg/
RBAC授权,使用户 kubelet-bootstrap 能够有权限发起 CSR 请求证书
kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
若执行失败,可先给kubectl绑定默认cluster-admin管理员集群角色,授权对整个集群的管理员权限
kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system:anonymous
在 node01 节点上操作
启动 kubelet 服务
cd /opt/
./kubelet.sh 20.0.0.72
ps aux | grep kubelet
在 master01 节点上操作,通过 CSR 请求
检查到 node01 节点的 kubelet 发起的 CSR 请求,Pending 表示等待集群给该节点签发证书
NAME AGE SIGNERNAME REQUESTOR CONDITION
node-csr-ubJfHTxHB8FU8gS1Q4ZhjJKv33AEZqgkm73oeBhs08o 22s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap Pending
通过 CSR 请求
kubectl certificate approve node-csr-ubJfHTxHB8FU8gS1Q4ZhjJKv33AEZqgkm73oeBhs08o
Approved,Issued 表示已授权 CSR 请求并签发证书
NAME AGE SIGNERNAME REQUESTOR CONDITION
node-csr-ubJfHTxHB8FU8gS1Q4ZhjJKv33AEZqgkm73oeBhs08o 56s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap Approved,Issued
node02节点同理上
[root@k8s1 opt]# kubectl get node
NAME STATUS ROLES AGE VERSION
20.0.0.72 NotReady <none> 3m2s v1.20.11
20.0.0.73 NotReady <none> 54s v1.20.11
在 node01 节点上操作
启动 kubelet 服务
cd /opt/
./kubelet.sh 20.0.0.73
ps aux | grep kubelet
//在 master01 节点上操作,通过 CSR 请求
#检查到 node01 节点的 kubelet 发起的 CSR 请求,Pending 表示等待集群给该节点签发证书
kubectl get csr
NAME AGE SIGNERNAME REQUESTOR CONDITION
node-csr-duiobEzQ0R93HsULoS9NT9JaQylMmid_nBF3Ei3NtFE 12s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap Pending
#通过 CSR 请求
kubectl certificate approve node-csr-duiobEzQ0R93HsULoS9NT9JaQylMmid_nBF3Ei3NtFE
#Approved,Issued 表示已授权 CSR 请求并签发证书
kubectl get csr
NAME AGE SIGNERNAME REQUESTOR CONDITION
node-csr-duiobEzQ0R93HsULoS9NT9JaQylMmid_nBF3Ei3NtFE 2m5s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap Approved,Issued
#查看节点,由于网络插件还没有部署,节点会没有准备就绪 NotReady
kubectl get node
NAME STATUS ROLES AGE VERSION
192.168.233.93 NotReady <none> 108s v1.20.11
//在 node01 节点上操作
#加载 ip_vs 模块
for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done
#启动proxy服务
cd /opt/
./proxy.sh 20.0.0.73
ps aux | grep kube-proxy
更多推荐
已为社区贡献17条内容
所有评论(0)