(六)配置kubectl客戶端工具
阿新 • • 發佈:2019-03-05
9.1 綁定 .com key vpd ges bind 配置文件 創建 #(1)在跳板機上生成客戶端證書和私鑰文件;
使用--kubeconfig選項來指定配置文件在什麽地方;
#生成客戶端證書簽署請求 cd /temp/ssl cat > client-csr.json <<EOF { "CN": "client", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "Hangzhou", "L": "Hangzhou", "O": "k8s", "OU": "System" } ] } EOF #生成客戶端證書 cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes client-csr.json | cfssljson -bare client
#(2)在跳板機上生成kubeconfig文件, 該用文件作用是客戶端向kube-apiserver認證使用;
#設置集群信息 kubectl config set-cluster k8s --server="https://192.168.19.128:6443" --certificate-authority=ca.pem --embed-certs=true #設置客戶端信息 kubectl config set-credentials client --client-certificate=client.pem --client-key=client-key.pem --embed-certs=true #配置上下文, 關聯集群和客戶端信息 kubectl config set-context client@k8s --cluster=k8s --user=client #設置默認上下文 kubectl config use-context client@k8s #查看配置, 默認會在~/.kube/目錄下生成config文件, kubectl工具會使用該配置文件信息連接apiserver服務 kubectl config view
#(3)在master上對kubectl用戶進行授權; clusterrole所有命名空間指定指定資源操作權限; 創建clusterrolebinding的目的是綁定用戶在所有命名空間對指定的資源操作權限; 這裏cluster-admin是管理員權限
kubectl create clusterrolebinding client-all-k8s1 --clusterrole=cluster-admin --user=client
#(4)在跳板機上驗證是否能夠創建資源
結論是能夠獲取資源和創建資源;
#(5)如果在其它機器上需要和apiserver進行通信創建資源,只需要把跳板機上的~/.kube/下的config文件拷貝到其它機器;
kubectl get pods --kubeconfig=/root/.kube/config
(六)配置kubectl客戶端工具