k8s-創建node節點kubeconfig配置文件


Kubeconfig 需要配置如下

  1. TLS Bootstrapping Token
  2. kubelet kubeconfig
  3. kube-proxy kubeconfig
下載kubectl
kubectl下載地址:https://kubernetes.io/docs/tasks/tools/install-kubectl/
我測試選擇的是安裝kubectl二進制文件

linux最新版本下載地址:curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

也可以指定版本,比如我測試使用的1.9.0
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.9.0/bin/linux/amd64/kubectl

 

[root@k8s-master src]# chmod +x kubectl
[root@k8s-master src]# mv kubectl /opt/kubernetes/bin/

[root@k8s-master src]# vi /etc/profile

export KUBERNETES_HOME=/opt/kubernetes
export PATH=$KUBERNETES_HOME/bin:$PATH

[root@k8s-master src]# source /etc/profile

kubeconfig配置文件創建,直接用下面kubeconfig.sh腳本文件生成 注意:export KUBE_APISERVER設置master的ip
# 創建 TLS Bootstrapping Token
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

#----------------------

# 創建kubelet bootstrapping kubeconfig 
export KUBE_APISERVER="https://192.168.10.60:6443"

# 設置集群參數
kubectl config set-cluster kubernetes \
  --certificate-authority=./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=./ca.pem \
  --embed-certs=true \
  --server=${KUBE_APISERVER} \
  --kubeconfig=kube-proxy.kubeconfig

kubectl config set-credentials kube-proxy \
  --client-certificate=./kube-proxy.pem \
  --client-key=./kube-proxy-key.pem \
  --embed-certs=true \
  --kubeconfig=kube-proxy.kubeconfig

kubectl config set-context default \
  --cluster=kubernetes \
  --user=kube-proxy \
  --kubeconfig=kube-proxy.kubeconfig

kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig

 

[root@k8s-master src]# chmod +x kubeconfig.sh
[root@k8s-master src]# mv kubeconfig.sh /opt/kubernetes/ssl/
[root@k8s-master src]# cd /opt/kubernetes/ssl/
[root@k8s-master ssl]# ./kubeconfig.sh
Cluster "kubernetes" set.
User "kubelet-bootstrap" set.
Context "default" created.
Switched to context "default".
Cluster "kubernetes" set.
User "kube-proxy" set.
Context "default" created.
Switched to context "default".

####由於沒有修改apiserver地址

[root@k8s-master ssl]# ./kubeconfig.sh
Cluster "kubernetes" set.
User "kubelet-bootstrap" set.
Context "default" modified.
Switched to context "default".
Cluster "kubernetes" set.
User "kube-proxy" set.
Context "default" modified.
Switched to context "default".


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM