AI 文章摘要
四、部署kubectl命令行工具
1、下载和分发 kubectl 二进制文件
- 我这里直接将下载好二进制包上
文章来源(Source):https://dqzboy.com 传至Master1服务器节点中,然后拷贝至其他节点
[root@k8s-master1 ~]# cd /opt/k8s/work
[root@k8s-master1 work]# tar -zxvf kubernetes-client-linux-amd64.tar.gz
kubernetes/
kubernetes/client/
kubernetes/client/bin/
kubernetes/client/bin/kubectl
kubernetes/client/bin/kubectl-convert
[root@k8s-master1 work]# for node_ip in ${NODE_IPS[@]}
do
echo ">>> ${node_ip}"
scp kubernetes/client/bin/kubectl root@${node_ip}:/opt/k8s/bin/
ssh root@${node_ip} "chmod +x /opt/k8s/bin/*"
done
2、创建admin证书和私钥
2.1:创建证书签名请求
[root@k8s-master1 ~]# cd /opt/k8s/work
[root@k8s-master1 work]# cat > admin-csr.json <<EOF
{
"CN": "admin",
"hosts": [],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "ShangHai",
"L": "ShangHai",
"O": "system:masters",
"OU": "dqz"
}
]
}
EOF
2.2:生成证书和私钥
[root@k8s-master1 work]# cfssl gencert -ca=/opt/k8s/work/ca.pem \
-ca-key=/opt/k8s/work/ca-key.pem \
-config=/opt/k8s/work/ca-config.json \
-profile=kubernetes admin-csr.json | cfssljson -bare admin
[root@k8s-master1 work]# ls admin*
admin.csr admin-csr.json admin-key.pem admin.pem
3、创建 kubeconfig 文件
[root@k8s-master1 work]# kubectl config set-cluster kubernetes \
--certificate-authority=/opt/k8s/work/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=kubectl.kubeconfig
- 设置客户端参数
[root@k8s-master1 work]# kubectl config set-credentials admin \
--client-certificate=/opt/k8s/work/admin.pem \
--client-key=/opt/k8s/work/admin-key.pem \
--embed-certs=true \
--kubeconfig=kubectl.kubeconfig
- 设置上下文参数
[root@k8s-master1 work]# kubectl config set-context kubernetes \
--cluster=kubernetes \
--user=admin \
--kubeconfig=kubectl.kubeconfig
- 设置默认上下文
[root@k8s-master1 work]# kubectl config use-context kubernetes --kubeconfig=kubectl.kubeconfig
4、分发kubeconfig文件
- 分发文件至所有Master和Work节点
[root@k8s-master1 work]# for node_ip in ${NODE_IPS[@]}
do
echo ">>> ${node_ip}"
ssh root@${node_ip} "mkdir -p ~/.kube"
scp kubectl.kubeconfig root@${node_ip}:~/.kube/config
done
5、确认kubectl已经可以使用
- 确保Master节点和Work节点的kubectl命令都可以使用
[root@k8s-master1 work]# kubectl --help
6、配置kubectl命令补全
- 所有节点执行
yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

大佬大佬,打卡学习
学习到这里了,前面虽有坎坷,但还顺利。
学习学习,感谢博主
解锁下隐藏内容
学习学习,感谢博主
感谢分享 仔细学习一下 现在学习到第三步骤
感谢分享,很详细
感谢分享,打卡
又来打卡学习了
只能说大佬牛掰