创建node节点上kubeconfig文件

#!/bin/bash
#by love19791126 107420988@qq.com
# 创建node节点上kubeconfig文件 在master节点部署
#kubeconfig是用于Node节点上kuber-proxy和kubelet与集群通信做的认证
# vim /etc/profile
# PATH=$PATH:/opt/kubernetes/bin

# source /etc/profile

chmod +x kube-proxy kubelet kubectl kube-apiserver kubeadm kube-controller-manager kube-scheduler
cp kube-proxy kubelet kubectl kube-apiserver kubeadm kube-controller-manager kube-scheduler /opt/kubernetes/bin/

#设置token
#手工方式生成CA非常麻烦,只适合少量机器,每次签证时都需要绑定Node IP,随着机器增加会带来很多的不便,因此这里使用TLS Bootstrapping的方式来进行授权,由apiserver自动为符合条件的Node发送证书授权加入集群。
#做法是在kubelet启动时,向kuber-apiserver传送TLS Bootstrapping请求,而kube-apiserver验证kubelet请求的token是否与设定的一样,如果一样则自动生成Kuberlet证书和密钥。
#首先生成BOOTSTRAP_TOKEN,并建立bootstrap.conf的kubeconfig
export BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')
cat > token.csv <<EOF
${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap"
EOF

#设置api访问入口
export KUBE_APISERVER="https://192.168.1.251:6443"

#设置集群参数
kubectl config set-cluster kubernetes --certificate-authority=/opt/kubernetes/ssl/ca.pem --embed-certs=true --server="${KUBE_APISERVER}" --kubeconfig=bootstrap.kubeconfig

#设置客户端认证参数
kubectl config set-credentials kubelet-bootstrap --token=${BOOTSTRAP_TOKEN} --kubeconfig=bootstrap.kubeconfig

#设置上下文参数
kubectl config set-context default --cluster=kubernetes --user=kubelet-bootstrap --kubeconfig=bootstrap.kubeconfig

# 设置默认上下文
kubectl config use-context default --kubeconfig=bootstrap.kubeconfig

#设置kube-proxy kubeconfig文件
kubectl config set-cluster kubernetes --certificate-authority=/opt/kubernetes/ssl/ca.pem --embed-certs=true --server=${KUBE_APISERVER} --kubeconfig=kube-proxy.kubeconfig

#设置kube-proxy证书
kubectl config set-credentials kube-proxy --client-certificate=/opt/kubernetes/ssl/kube-proxy.pem --client-key=/opt/kubernetes/ssl/kube-proxy-key.pem --embed-certs=true --kubeconfig=kube-proxy.kubeconfig

#设置kube-proxy上下文
kubectl config set-context default --cluster=kubernetes --user=kube-proxy --kubeconfig=kube-proxy.kubeconfig

#设置kube-proxy默认上下文
kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig

 

转载于:https://www.cnblogs.com/love19791125/p/11286784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值