kubernetes實踐之十八:叢集各模組之間的通訊
一: 通訊結構圖
二:kubernetes客戶端認證方式
Kubernetes提供管理三種級別的客戶端身份認證方式:
1.最嚴格的HTTPS證書認證:基於CA根證書籤名的雙向數字證書認證方式;
2.HTTP Token認證:透過一個Token來識別合法使用者;
3.HTTP Base認證:透過使用者名稱+密碼的方式認證;
上圖中展示的是使用HTTPS證書認證的方式。
三:各模組之間的通訊方式
在開啟了 TLS 的叢集中,每當與叢集互動的時候少不了的是身份認證,使用 kubeconfig(即證書) 和 token 兩種認證方式是最簡單也最通用的認證方式。
1.kubectl跟API Server之間採用的是kubeconfig進行TLS的認證
2.kubelet跟API Server之間採用Token(bootstrap token)和Kubeconfig相結合的方式進行TLS的認證
3.Pod跟API Server之間採用的是Token(Service Account Token)的方式進行TLS的認證。
4.叢集外使用者透過kubectl proxy 方式提供http訪問(僅作測試用)
5.scheduler,controller manager與API Server之間透過Http訪問(scheduler,controller manager,API Server要求部署在同一臺伺服器上)
6.ETCD之間透過TLS進行通訊
7.API Server與ETCD之間透過TLS進行通訊
8.API SERVER與kube-proxy之間透過kubeconfig進行TL的認證
四:kubectl通訊設定
kubectl預設會從$HOME/.kube目錄下查詢檔名為 config 的檔案,也可以透過設定環境變數 KUBECONFIG 或者透過設定 去指定其它 kubeconfig 檔案。
1.生成的 kubeconfig 被儲存到 ~/.kube/config 檔案;配置檔案描述了叢集、使用者和上下文
2.設定叢集引數:set-cluster設定了需要訪問的叢集,如上面的kubernetes,這只是個名稱,實際為--server指向的apiserver; --certificate-authority設定了該叢集的公鑰;--embed-certs為true表示將--certificate-authority證書寫入到kubeconfig中;--server則表示該叢集的kube-apiserver地址
3.設定客戶端認證引數:set-credentials admin 設定使用者admin;--client-certificate設定客戶證書;--client-key設定客戶私鑰;--embed-certs為true表示將證書寫入kubeconfig中;admin.pem 證書 OU 欄位值為 system:masters , kube-apiserver預定義的 RoleBinding cluster-admin 將 Group system:masters與 Role cluster-admin 繫結,該 Role 授予了調? kube-apiserver相關 API 的許可權;
4.設定上下文引數:上下文名稱為kubenetes,叢集為kubenetes,使用者為admin,表示使用admin的使用者憑證來訪問kubenetes叢集的default名稱空間,也可以增加--namspace來指定訪問的名稱空間。叢集引數和使用者引數可以同時設定多對;
5.kubectl config use-context kubernetes來使用名為kubenetes的環境項來作為配置。如果配置了多個環境項,可以透過切換不同的環境項名字來訪問到不同的叢集環境。
最終生成的config檔案內容如下:
五:ETCD叢集通訊設定
--cert-file,--key-file 設定ETCD的公私鑰;--peer-cert-file,--peer-key-file設定ETCD叢集各節點之間通訊的公私鑰;--trusted-ca-file=設定客戶端CA證書;--peer-trusted-ca-file設定ETCD叢集各節點CA證書。
六:API Server與ETCD叢集通訊設定(apiserver配置檔案)
七:API Server與Kubelet之間通訊設定
1.Master節點生成token.csv檔案;並在apiserver配置檔案中由--token-auth-file引數指定。用於驗證來自kubelet的bootstrap.kubeconfig檔案.
token.csv為一個使用者的描述檔案,基本格式為 Token,使用者名稱,UID,使用者組;這個檔案在 apiserver 啟動時被 apiserver 載入,然後就相當於在叢集內建立了一個這個使用者;接下來就可以用 RBAC 給他授權;持有這個使用者 Token 的元件訪問 apiserver 的時候,apiserver 根據 RBAC 定義的該使用者應當具有的許可權來處理相應請求
2.kubelet配置bootstrap.kubeconfig檔案
在 apiserver 配置中指定了一個 token.csv 檔案,該檔案中是一個預設的使用者配置;同時該使用者的 Token 和 apiserver 的 CA 證書被寫入了 kubelet 所使用的 bootstrap.kubeconfig 配置檔案中;這樣在首次請求時,kubelet 使用 bootstrap.kubeconfig 中的 apiserver CA 證書來與 apiserver 建立 TLS 通訊,使用 bootstrap.kubeconfig 中的使用者 Token 來向 apiserver 宣告自己的 RBAC 授權身份.
3.建立一個 ClusterRoleBinding,將預設使用者 kubelet-bootstrap 與內建的 ClusterRole system:node-bootstrapper 繫結到一起,使其能夠發起 CSR 請求
4.在 kubelet 首次啟動後,如果使用者 Token 沒問題,並且 RBAC 也做了相應的設定,那麼此時在叢集內應該能看到 kubelet 發起的 CSR 請求,可以使用 kubectl 手動簽發(允許) kubelet 的證書,當成功簽發證書後,目標節點的 kubelet 會將證書寫入到 --cert-dir= 選項指定的目錄中.
至此,API Server和kubelet之間可以透過TLS進行相互通訊。
八:Pod與API Server之間通訊設定
1.使用API Server私鑰(controller-manager配置檔案中的--service-account-private-key-file指定的檔案)建立一個Token(JWT Token),並用該Token、CA證書(這個是API Server的,來源於controller-manager配置檔案中的root-ca-file),Namespace名稱等三個資訊產生一個新的Secret物件,然後放入建立的Service Account中。
2.API Server收到Token以後,採用自己的私鑰(實際是使用apiserver配置檔案中的引數service-account-key-file指定的私鑰,如果此引數沒有設定,則預設採用tls-private-key-file指定的引數,即自己的私鑰)對Token進行合法驗證。
九:API Server與kube-proxy之間通訊設定
kube-proxy.pem 證書中 CN 為 system:kube-proxy,kubeapiserver預定義的 RoleBinding cluster-admin 將User system:kube-proxy 與 Role system:node-proxier 繫結,該 Role授予了調? kube-apiserver Proxy 相關 API 的許可權;
生成的kube-proxy.kubeconfig檔案如下:
二:kubernetes客戶端認證方式
Kubernetes提供管理三種級別的客戶端身份認證方式:
1.最嚴格的HTTPS證書認證:基於CA根證書籤名的雙向數字證書認證方式;
2.HTTP Token認證:透過一個Token來識別合法使用者;
3.HTTP Base認證:透過使用者名稱+密碼的方式認證;
上圖中展示的是使用HTTPS證書認證的方式。
三:各模組之間的通訊方式
在開啟了 TLS 的叢集中,每當與叢集互動的時候少不了的是身份認證,使用 kubeconfig(即證書) 和 token 兩種認證方式是最簡單也最通用的認證方式。
1.kubectl跟API Server之間採用的是kubeconfig進行TLS的認證
2.kubelet跟API Server之間採用Token(bootstrap token)和Kubeconfig相結合的方式進行TLS的認證
3.Pod跟API Server之間採用的是Token(Service Account Token)的方式進行TLS的認證。
4.叢集外使用者透過kubectl proxy 方式提供http訪問(僅作測試用)
5.scheduler,controller manager與API Server之間透過Http訪問(scheduler,controller manager,API Server要求部署在同一臺伺服器上)
6.ETCD之間透過TLS進行通訊
7.API Server與ETCD之間透過TLS進行通訊
8.API SERVER與kube-proxy之間透過kubeconfig進行TL的認證
四:kubectl通訊設定
kubectl預設會從$HOME/.kube目錄下查詢檔名為 config 的檔案,也可以透過設定環境變數 KUBECONFIG 或者透過設定 去指定其它 kubeconfig 檔案。
點選(此處)摺疊或開啟
-
export KUBE_APISERVER=""
-
# 設定叢集引數
-
kubectl config set-cluster kubernetes \
-
--certificate-authority=/etc/kubernetes/ssl/ca.pem \
-
--embed-certs=true \
-
--server=${KUBE_APISERVER}
-
# 設定客戶端認證引數
-
kubectl config set-credentials admin \
-
--client-certificate=/etc/kubernetes/ssl/admin.pem \
-
--embed-certs=true \
-
--client-key=/etc/kubernetes/ssl/admin-key.pem
-
# 設定上下文引數
-
kubectl config set-context kubernetes \
-
--cluster=kubernetes \
-
--user=admin
-
# 設定預設上下文
- kubectl config use-context kubernetes
2.設定叢集引數:set-cluster設定了需要訪問的叢集,如上面的kubernetes,這只是個名稱,實際為--server指向的apiserver; --certificate-authority設定了該叢集的公鑰;--embed-certs為true表示將--certificate-authority證書寫入到kubeconfig中;--server則表示該叢集的kube-apiserver地址
3.設定客戶端認證引數:set-credentials admin 設定使用者admin;--client-certificate設定客戶證書;--client-key設定客戶私鑰;--embed-certs為true表示將證書寫入kubeconfig中;admin.pem 證書 OU 欄位值為 system:masters , kube-apiserver預定義的 RoleBinding cluster-admin 將 Group system:masters與 Role cluster-admin 繫結,該 Role 授予了調? kube-apiserver相關 API 的許可權;
4.設定上下文引數:上下文名稱為kubenetes,叢集為kubenetes,使用者為admin,表示使用admin的使用者憑證來訪問kubenetes叢集的default名稱空間,也可以增加--namspace來指定訪問的名稱空間。叢集引數和使用者引數可以同時設定多對;
5.kubectl config use-context kubernetes來使用名為kubenetes的環境項來作為配置。如果配置了多個環境項,可以透過切換不同的環境項名字來訪問到不同的叢集環境。
最終生成的config檔案內容如下:
點選(此處)摺疊或開啟
-
apiVersion: v1
-
clusters:
-
- cluster:
-
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR2akNDQXFhZ0F3SUJBZ0lVSVprZlNwNSs5REY3OUZEYXFhQ1haYXRsOG9Rd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1pURUxNQWtHQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbAphVXBwYm1jeEREQUtCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByCmRXSmxjbTVsZEdWek1CNFhEVEU0TURNeE1qQTFNall3TUZvWERUSXpNRE14TVRBMU1qWXdNRm93WlRFTE1Ba0cKQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbGFVcHBibWN4RERBSwpCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByZFdKbGNtNWxkR1Z6Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcERaU3NjQWF2N3Roa0JDUTZYN2cKWGZCZ3JOZWM2amc1YjdzVXEzSENyc1hYL3dlOW5POVNxVmxGdS8vY3VMTXNiWEhTdGhXYzJtTXBhdzlmQWVUdwpqK2gyOVZjTkJEamhWbzNhbUFZNk9pR1hOWWZQd0hsaHN4bVFXT0Zrc1NybnpOaGk4djc5K0R5bk1Bc3BSVHlxCk5KODdSUi93d0x6TDVUcFlka1U2U3dIK1ZsR01NRjNEMFdRSjV1ZHlNbFBiRnQyWVVnZE1VRXVCdDRVYWp3d2cKZE9jSVdEcFV0Q0pGNXUvU3RTaHA3RDdRb05rUDdKa2dodm5KMEx6enZxZnlkVFE2MW1HSXIvUHpYS0d3VkJoTgpEQ0hCMTJ1SDBEUkxwK3V2UE5pdmRYcS9wSzE0dWlxYjFoTGdRbzd6OS92d0xBMVg0c0FrU1o2UjUzQzBEZ3kvCnN3SURBUUFCbzJZd1pEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFqQWQKQmdOVkhRNEVGZ1FVbG00R3RSbFgzZmYrWkFjLzI1cmdURHNhTEo0d0h3WURWUjBqQkJnd0ZvQVVsbTRHdFJsWAozZmYrWkFjLzI1cmdURHNhTEo0d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFISWVvY1lXM21ZVVdMbTVkR3hvCnN0a01DZlc3aDhDMEduZ2ZIOXFhbFZVTzk0b0RDd2hEMWlqOWtZVW9nZzF3a1BFbGZjSWEybERDOFZBckJtZ3UKWXhFOEJwSkpxMUtIaXAyM0xXSXhWTFB4VWs5ckFUNEtwbE9idmo1RG5adTFDTndlVXJpWU1QUEtRc01LaXROaApVQ3pBV0FVTUpIa2JwVHdsZGNBYmtGMHFyUThGRzZsa1EwakRpTUpKc0ZrelEzbU5YY1pzYXpnamNRWjJHczBxCkhySzlrQ2FHTWtHbzEvQUtDYms5VzZEZDBpL05QeWtvT2d3U1ExMzFSaHQrYmlGZVdVOWQwYjZST3JyYW9GeFoKd1hnZGRYZm11UHQ3eHhyeVFZTUN0NWxRYkQ4aS8wNzJZMGVNYVpQU09jc2xtTk1RQWpsN3Z6T0N0UGcyRzNKNAoxemM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
-
server: https://-----------------
-
name: kubernetes
-
contexts:
-
- context:
-
cluster: kubernetes
-
user: admin
-
name: kubernetes
-
current-context: kubernetes
-
kind: Config
-
preferences: {}
-
users:
-
- name: admin
-
user:
-
as-user-extra: {}
- client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQzVENDQXNXZ0F3SUJBZ0lVVnR3RHBzZlRaN1RobUY1SUdYa2ZwWUhrZklzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1pURUxNQWtHQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbAphVXBwYm1jeEREQUtCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByCmRXSmxjbTVsZEdWek1CNFhEVEU0TURNeE1qQTJNamN3TUZvWERUSTRNRE13T1RBMk1qY3dNRm93YXpFTE1Ba0cKQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbGFVcHBibWN4RnpBVgpCZ05WQkFvVERuTjVjM1JsYlRwdFlYTjBaWEp6TVE4d0RRWURWUVFMRXdaVGVYTjBaVzB4RGpBTUJnTlZCQU1UCkJXRmtiV2x1TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF0dStsZzRmYzlRT1cKQWxRaWdGTmRHWUZhQjhNaDBuMXRrOFBNUzU2VWRZQmxJMnVNOWNHVTZUdmdGcGJMOFMvMDI2RklmcXZRRlRpQgpqbS9aZEl6R05GbmlOOFk0M3JVWnFTdUtpL3J6czBUU2E3UG5RMnhvOHhiTGNmN24va2NYSEpUSENHbHNhb28xClRmOUdyZGR1bkdWdnhlMzFDT0ovY25LSFZKNVc1aTdoZTlYU21tMWxNdnlkT0FRVmZQT1pJVDNnUS9VV29TL2cKMWI2VEM3cmR5TzhwT2YvYmxOSExFbHRYSk9PcjJOb2ducnJPSk9WYTlTbnQ5S2FBUjNvNnFSM21QR1hnK2pBawpFZGswVzlwMm4rMWpjd094WUd2N1JtQm11Q3QwRnBvaDVBanZPNlhCQTYvSU10WnJkR0tKS1J6NTFZZDRLNHVwCnBQM05jcHhRV3dJREFRQUJvMzh3ZlRBT0JnTlZIUThCQWY4RUJBTUNCYUF3SFFZRFZSMGxCQll3RkFZSUt3WUIKQlFVSEF3RUdDQ3NHQVFVRkJ3TUNNQXdHQTFVZEV3RUIvd1FDTUFBd0hRWURWUjBPQkJZRUZJWTNkNWlFK2VyKwo0M3lRaFVlWkhrRXRUM3JRTUI4R0ExVWRJd1FZTUJhQUZKWnVCclVaVjkzMy9tUUhQOXVhNEV3N0dpeWVNQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElCQVFCWGM2cWNSOHQ4dFhHYjRUK0l3clVCd0RvVHhVSWtRQ0p5M1NaT09jZ1AKcnRKalFtNGhPSDhMd1NFcHBHQ2JjV1JxeWRZTzVUQ1Y4K1kzbGQvUzd6TWJIUmNnU2IvczlBbERjbHZZR1daago3akk0TEs4K1lJSXIwVWJtTDdOZWlaMzAxcWorRmlaeElBNkVxN284Y29WWFhlYmpYQUtKKzFva0lqWVoxaGlxCmlBaHRTeXh0MTZQQVlla0NYdGl1U2tGTGNRSUZCYUk5REo4RlpuZDVnbkJnQUloLzlVUFVNR1hDUjhwdkJscFUKeWlGb0puOUtSY3YzQVEwSVJRejkwVzhUMHVYTHdXaU5SM2E2YU5uc1hVZmloaXAwY1VKWXNRODAvb0dIbHJHeApzQktvRVN1QXNSbnE3N25DWmlRUlliZmtEQVZpc0d3KzZHWTNpMnJVUXpDZwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
-
ETCD_CERT_FILE="/etc/kubernetes/ssl/kubernetes.pem"
-
ETCD_KEY_FILE="/etc/kubernetes/ssl/kubernetes-key.pem"
-
ETCD_TRUSTED_CA_FILE="/etc/kubernetes/ssl/ca.pem"
-
ETCD_PEER_CERT_FILE="/etc/kubernetes/ssl/kubernetes.pem"
-
ETCD_PEER_KEY_FILE="/etc/kubernetes/ssl/kubernetes-key.pem"
- ETCD_PEER_TRUSTED_CA_FILE="/etc/kubernetes/ssl/ca.pem"
六:API Server與ETCD叢集通訊設定(apiserver配置檔案)
點選(此處)摺疊或開啟
- --etcd-cafile=/etc/kubernetes/ssl/ca.pem
- --etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem
- --etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem
1.Master節點生成token.csv檔案;並在apiserver配置檔案中由--token-auth-file引數指定。用於驗證來自kubelet的bootstrap.kubeconfig檔案.
token.csv為一個使用者的描述檔案,基本格式為 Token,使用者名稱,UID,使用者組;這個檔案在 apiserver 啟動時被 apiserver 載入,然後就相當於在叢集內建立了一個這個使用者;接下來就可以用 RBAC 給他授權;持有這個使用者 Token 的元件訪問 apiserver 的時候,apiserver 根據 RBAC 定義的該使用者應當具有的許可權來處理相應請求
點選(此處)摺疊或開啟
- 2c691a233d152b582f69de61e40dfc32,kubelet-bootstrap,10001,"system:kubelet-bootstrap"
點選(此處)摺疊或開啟
-
export KUBE_APISERVER=""
-
# 設定叢集引數
-
kubectl config set-cluster kubernetes \
-
--certificate-authority=/etc/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
3.建立一個 ClusterRoleBinding,將預設使用者 kubelet-bootstrap 與內建的 ClusterRole system:node-bootstrapper 繫結到一起,使其能夠發起 CSR 請求
點選(此處)摺疊或開啟
-
cd /etc/kubernetes
-
kubectl create clusterrolebinding kubelet-bootstrap \
-
--clusterrole=system:node-bootstrapper \
- --user=kubelet-bootstrap
至此,API Server和kubelet之間可以透過TLS進行相互通訊。
八:Pod與API Server之間通訊設定
1.使用API Server私鑰(controller-manager配置檔案中的--service-account-private-key-file指定的檔案)建立一個Token(JWT Token),並用該Token、CA證書(這個是API Server的,來源於controller-manager配置檔案中的root-ca-file),Namespace名稱等三個資訊產生一個新的Secret物件,然後放入建立的Service Account中。
2.API Server收到Token以後,採用自己的私鑰(實際是使用apiserver配置檔案中的引數service-account-key-file指定的私鑰,如果此引數沒有設定,則預設採用tls-private-key-file指定的引數,即自己的私鑰)對Token進行合法驗證。
九:API Server與kube-proxy之間通訊設定
點選(此處)摺疊或開啟
-
export KUBE_APISERVER=":6443"
-
# 設定叢集引數
-
kubectl config set-cluster kubernetes \
-
--certificate-authority=/etc/kubernetes/ssl/ca.pem \
-
--embed-certs=true \
-
--server=${KUBE_APISERVER} \
-
--kubeconfig=kube-proxy.kubeconfig
-
# 設定客戶端認證引數
-
kubectl config set-credentials kube-proxy \
-
--client-certificate=/etc/kubernetes/ssl/kube-proxy.pem \
-
--client-key=/etc/kubernetes/ssl/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
生成的kube-proxy.kubeconfig檔案如下:
點選(此處)摺疊或開啟
-
apiVersion: v1
-
clusters:
-
- cluster:
-
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR2akNDQXFhZ0F3SUJBZ0lVSVprZlNwNSs5REY3OUZEYXFhQ1haYXRsOG9Rd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1pURUxNQWtHQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbAphVXBwYm1jeEREQUtCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByCmRXSmxjbTVsZEdWek1CNFhEVEU0TURNeE1qQTFNall3TUZvWERUSXpNRE14TVRBMU1qWXdNRm93WlRFTE1Ba0cKQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbGFVcHBibWN4RERBSwpCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByZFdKbGNtNWxkR1Z6Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcERaU3NjQWF2N3Roa0JDUTZYN2cKWGZCZ3JOZWM2amc1YjdzVXEzSENyc1hYL3dlOW5POVNxVmxGdS8vY3VMTXNiWEhTdGhXYzJtTXBhdzlmQWVUdwpqK2gyOVZjTkJEamhWbzNhbUFZNk9pR1hOWWZQd0hsaHN4bVFXT0Zrc1NybnpOaGk4djc5K0R5bk1Bc3BSVHlxCk5KODdSUi93d0x6TDVUcFlka1U2U3dIK1ZsR01NRjNEMFdRSjV1ZHlNbFBiRnQyWVVnZE1VRXVCdDRVYWp3d2cKZE9jSVdEcFV0Q0pGNXUvU3RTaHA3RDdRb05rUDdKa2dodm5KMEx6enZxZnlkVFE2MW1HSXIvUHpYS0d3VkJoTgpEQ0hCMTJ1SDBEUkxwK3V2UE5pdmRYcS9wSzE0dWlxYjFoTGdRbzd6OS92d0xBMVg0c0FrU1o2UjUzQzBEZ3kvCnN3SURBUUFCbzJZd1pEQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0VnWURWUjBUQVFIL0JBZ3dCZ0VCL3dJQkFqQWQKQmdOVkhRNEVGZ1FVbG00R3RSbFgzZmYrWkFjLzI1cmdURHNhTEo0d0h3WURWUjBqQkJnd0ZvQVVsbTRHdFJsWAozZmYrWkFjLzI1cmdURHNhTEo0d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFISWVvY1lXM21ZVVdMbTVkR3hvCnN0a01DZlc3aDhDMEduZ2ZIOXFhbFZVTzk0b0RDd2hEMWlqOWtZVW9nZzF3a1BFbGZjSWEybERDOFZBckJtZ3UKWXhFOEJwSkpxMUtIaXAyM0xXSXhWTFB4VWs5ckFUNEtwbE9idmo1RG5adTFDTndlVXJpWU1QUEtRc01LaXROaApVQ3pBV0FVTUpIa2JwVHdsZGNBYmtGMHFyUThGRzZsa1EwakRpTUpKc0ZrelEzbU5YY1pzYXpnamNRWjJHczBxCkhySzlrQ2FHTWtHbzEvQUtDYms5VzZEZDBpL05QeWtvT2d3U1ExMzFSaHQrYmlGZVdVOWQwYjZST3JyYW9GeFoKd1hnZGRYZm11UHQ3eHhyeVFZTUN0NWxRYkQ4aS8wNzJZMGVNYVpQU09jc2xtTk1RQWpsN3Z6T0N0UGcyRzNKNAoxemM9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
-
server: https://-----------------
-
name: kubernetes
-
contexts:
-
- context:
-
cluster: kubernetes
-
user: kube-proxy
-
name: default
-
current-context: default
-
kind: Config
-
preferences: {}
-
users:
-
- name: kube-proxy
-
user:
-
as-user-extra: {}
- client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQzakNDQXNhZ0F3SUJBZ0lVTCtlZWYzVmJjenZiZFBueUxCdXlMTmJlWFVNd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1pURUxNQWtHQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbAphVXBwYm1jeEREQUtCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUk13RVFZRFZRUURFd3ByCmRXSmxjbTVsZEdWek1CNFhEVEU0TURNeE1qQTJOVEl3TUZvWERUSTRNRE13T1RBMk5USXdNRm93YkRFTE1Ba0cKQTFVRUJoTUNRMDR4RURBT0JnTlZCQWdUQjBKbGFVcHBibWN4RURBT0JnTlZCQWNUQjBKbGFVcHBibWN4RERBSwpCZ05WQkFvVEEyczRjekVQTUEwR0ExVUVDeE1HVTNsemRHVnRNUm93R0FZRFZRUURFeEZ6ZVhOMFpXMDZhM1ZpClpTMXdjbTk0ZVRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTHo5bzVJTk5jMWgKU1NSeEs5SU5TcmhPZm4wcHV4dlF0cUp2Yzl0UFNUVXQ3QkZLT1h6dXd2VkowY1hKV201M2xZTEtObm9oSnljdgpsTElZSUhBMXFDa1hOTnNrc2huRlJPYmNmTFZMWU50cXV6WDBoQm5vaUtPYU8vYzUrVEpIYW41a1R3YXhSNklNCmZNNitlZkxTYUU0VGUzenRwVHVMVjlUT2QyZEdJTHpJRm1BSDFmZW5VNnJvUEsxcEtHbjZjUmlKZXk5S1VSNzIKWHpsZXZONWplTCs5cXNWSitINVo3ZFdrd21iQ2VqdWxYNVpZUmxZYm5sdSsxZ2syRXN0Z0NEODUrdldvYklHVgpJTkZmS2Q2YW1jN0E2cnVhQTh4aW54RTNtOFpuQmQzaFMyNktZSUlQVUExTGxNb05KTHBUK0Z4ZlA2MFN2bXBIClZWQktXSURUSDlVQ0F3RUFBYU4vTUgwd0RnWURWUjBQQVFIL0JBUURBZ1dnTUIwR0ExVWRKUVFXTUJRR0NDc0cKQVFVRkJ3TUJCZ2dyQmdFRkJRY0RBakFNQmdOVkhSTUJBZjhFQWpBQU1CMEdBMVVkRGdRV0JCUWR5M0pidTVYNQoxbE9PcTFWRzZRbDBuM1JxblRBZkJnTlZIU01FR0RBV2dCU1diZ2ExR1ZmZDkvNWtCei9ibXVCTU94b3NuakFOCkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQVcxWWNhdGlTVS9XVFZzc2R2dVNwdGpUQllleGhrZlhSMjNIU3VnYUIKM1J4T2JscG5ETEtWdVVxY2dZMnIrTEU2SEFKZG9scEVydlc0RDRISFgzbW8wVTdFdlZVNUlvU1JmQ2p4dTZmaApDK0VsbzcybmFPNW96Y2NVbXcwaisrKzN6UzFZTnE0LzF0ZzhTd1NBOWx0alI5SU9kOHY4ZS91UWJnN2ZuMHJnCmxsR28rb0dxa0JaSDlnQzROc0Frd1haYUJPWWxjcDJEN244S2dqRS9DaWsxWDZzSDJiL0tPb1ZHR3NiTDRwY1QKMUxlOFFROWk4dDRlclI3OFlFVFFwZnJVbkZjUndlZTkvbDJSeVBDRDROSVpiZ0U5UXVCWW9nMUc3bjNYWG9DNwpFNUtWdUFXRkJraFBEaG44MU9RczRkamtBWkFIaEF1c1ZSUTByTzlPeVpodG53PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2153070/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 達夢DBlink叢集之間通訊搭建
- kubernetes實踐之五十八:CronJob
- 『中級篇』叢集服務間通訊之RoutingMesh(47)
- 管理 ES 叢集:叢集與外部間的安全通訊
- 管理 ES 叢集:叢集內部間的安全通訊
- kubernetes實踐之十五:Kubernetes叢集主要啟動引數說明
- kubernetes實踐之六十八:部署 coredns 外掛DNS
- 實現不同程式之間的通訊
- Electron實戰之程式間通訊
- 京東雲Kubernetes叢集最佳實踐
- kubernetes叢集管理之通過jq來擷取屬性
- 【Docker】Docker三劍客實踐之部署叢集Docker
- 用隧道協議實現不同dubbo叢集間的透明通訊協議
- vue元件之間的通訊Vue元件
- Activity之間的通訊方式
- React - 元件之間的通訊React元件
- Kubernetes 叢集無損升級實踐
- Kubernetes叢集健康檢查最佳實踐
- 三艾雲 Kubernetes 叢集最佳實踐
- 美團點評Kubernetes叢集管理實踐
- React之元件(component)之間的通訊React元件
- 父子元件之間通訊元件
- 元件之間的通訊LiveDataBus元件LiveData
- Flutter多Engine之間的通訊Flutter
- iOS架構設計解耦的嘗試之模組間通訊iOS架構解耦
- 在如何實現兩個JBoss之間的訊息通訊?
- 大資料專案實踐(一)——之HDFS叢集配置大資料
- kubernetes實踐之四十八:Service Controller與Endpoint ControllerController
- Android 程式之間通訊Android
- webRtc及元件之間通訊Web元件
- iOS app之間通訊方式iOSAPP
- 想問一下,websocket叢集間如何通訊Web
- QT之不同主機之間TCP通訊QTTCP
- 微服務之間通過RabbitMQ通訊微服務MQ
- kubernetes之使用http rest api訪問叢集HTTPRESTAPI
- netlink 是 Go 和核心模組之間優秀的通訊兵Go
- 利用 Kubeadm部署 Kubernetes 1.13.1 叢集實踐錄
- kubernetes實踐之十一:EFK