日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)kubernetes教程:KubernetesPKI證書和要求

PKI 證書和要求

Kubernetes 需要 PKI 證書才能進(jìn)行基于 TLS 的身份驗(yàn)證。如果你是使用 kubeadm 安裝的 Kubernetes, 則會(huì)自動(dòng)生成集群所需的證書。你還可以生成自己的證書。 例如,不將私鑰存儲(chǔ)在 API 服務(wù)器上,可以讓私鑰更加安全。此頁(yè)面說(shuō)明了集群必需的證書。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出尼瑪免費(fèi)做網(wǎng)站回饋大家。

集群是如何使用證書的 

Kubernetes 需要 PKI 才能執(zhí)行以下操作:

  • Kubelet 的客戶端證書,用于 API 服務(wù)器身份驗(yàn)證
  • Kubelet 服務(wù)端證書, 用于 API 服務(wù)器與 Kubelet 的會(huì)話
  • API 服務(wù)器端點(diǎn)的證書
  • 集群管理員的客戶端證書,用于 API 服務(wù)器身份認(rèn)證
  • API 服務(wù)器的客戶端證書,用于和 Kubelet 的會(huì)話
  • API 服務(wù)器的客戶端證書,用于和 etcd 的會(huì)話
  • 控制器管理器的客戶端證書/kubeconfig,用于和 API 服務(wù)器的會(huì)話
  • 調(diào)度器的客戶端證書/kubeconfig,用于和 API 服務(wù)器的會(huì)話
  • 前端代理 的客戶端及服務(wù)端證書

Note: 只有當(dāng)你運(yùn)行 kube-proxy 并要支持 擴(kuò)展 API 服務(wù)器 時(shí),才需要 ?front-proxy? 證書

etcd 還實(shí)現(xiàn)了雙向 TLS 來(lái)對(duì)客戶端和對(duì)其他對(duì)等節(jié)點(diǎn)進(jìn)行身份驗(yàn)證。

證書存放的位置 

假如通過(guò) kubeadm 安裝 Kubernetes,大多數(shù)證書都存儲(chǔ)在 ?/etc/kubernetes/pki?。 本文檔中的所有路徑都是相對(duì)于該目錄的,但用戶賬戶證書除外,kubeadm 將其放在 ?/etc/kubernetes? 中。

手動(dòng)配置證書 

如果你不想通過(guò) kubeadm 生成這些必需的證書,你可以使用一個(gè)單一的根 CA 來(lái)創(chuàng)建這些證書或者直接提供所有證書。 

單根 CA 

你可以創(chuàng)建一個(gè)單根 CA,由管理員控制器它。該根 CA 可以創(chuàng)建多個(gè)中間 CA,并將所有進(jìn)一步的創(chuàng)建委托給 Kubernetes。

需要這些 CA:

路徑 默認(rèn) CN 描述
ca.crt,key kubernetes-ca Kubernetes 通用 CA
etcd/ca.crt,key etcd-ca 與 etcd 相關(guān)的所有功能
front-proxy-ca.crt,key kubernetes-front-proxy-ca 用于 前端代理

上面的 CA 之外,還需要獲取用于服務(wù)賬戶管理的密鑰對(duì),也就是 ?sa.key? 和 ?sa.pub?。

下面的例子說(shuō)明了上表中所示的 CA 密鑰和證書文件。

/etc/kubernetes/pki/ca.crt
/etc/kubernetes/pki/ca.key
/etc/kubernetes/pki/etcd/ca.crt
/etc/kubernetes/pki/etcd/ca.key
/etc/kubernetes/pki/front-proxy-ca.crt
/etc/kubernetes/pki/front-proxy-ca.key

所有的證書 

如果你不想將 CA 的私鑰拷貝至你的集群中,你也可以自己生成全部的證書。

需要這些證書:

默認(rèn) CN 父級(jí) CA O (位于 Subject 中) 類型 主機(jī) (SAN)
kube-etcd etcd-ca server, client localhost127.0.0.1
kube-etcd-peer etcd-ca server, client localhost127.0.0.1
kube-etcd-healthcheck-client etcd-ca client
kube-apiserver-etcd-client etcd-ca system:masters client
kube-apiserver kubernetes-ca server [1]
kube-apiserver-kubelet-client kubernetes-ca system:masters client
front-proxy-client kubernetes-front-proxy-ca client

[1]: 用來(lái)連接到集群的不同 IP 或 DNS 名 (就像 kubeadm 為負(fù)載均衡所使用的固定 IP 或 DNS 名,?kubernetes?、?kubernetes.default?、?kubernetes.default.svc?、 ?kubernetes.default.svc.cluster?、?kubernetes.default.svc.cluster.local?)。

其中,?kind ?對(duì)應(yīng)一種或多種類型的 x509 密鑰用途:

kind 密鑰用途
server 數(shù)字簽名、密鑰加密、服務(wù)端認(rèn)證
client 數(shù)字簽名、密鑰加密、客戶端認(rèn)證

Note:

上面列出的 Hosts/SAN 是推薦的配置方式;如果需要特殊安裝,則可以在所有服務(wù)器證書上添加其他 SAN。

Note:

對(duì)于 kubeadm 用戶:

  • 不使用私鑰,將證書復(fù)制到集群 CA 的方案,在 kubeadm 文檔中將這種方案稱為外部 CA。
  • 如果將以上列表與 kubeadm 生成的 PKI 進(jìn)行比較,你會(huì)注意到,如果使用外部 etcd,則不會(huì)生成 ?kube-etcd?、?kube-etcd-peer? 和 ?kube-etcd-healthcheck-client? 證書。

證書路徑 

證書應(yīng)放置在建議的路徑中(以便 kubeadm 使用)。無(wú)論使用什么位置,都應(yīng)使用給定的參數(shù)指定路徑。

默認(rèn) CN 建議的密鑰路徑 建議的證書路徑 命令 密鑰參數(shù) 證書參數(shù)
etcd-ca etcd/ca.key etcd/ca.crt kube-apiserver --etcd-cafile
kube-apiserver-etcd-client apiserver-etcd-client.key apiserver-etcd-client.crt kube-apiserver --etcd-keyfile --etcd-certfile
kubernetes-ca ca.key ca.crt kube-apiserver --client-ca-file
kubernetes-ca ca.key ca.crt kube-controller-manager --cluster-signing-key-file --client-ca-file, --root-ca-file, --cluster-signing-cert-file
kube-apiserver apiserver.key apiserver.crt kube-apiserver --tls-private-key-file --tls-cert-file
kube-apiserver-kubelet-client apiserver-kubelet-client.key apiserver-kubelet-client.crt kube-apiserver --kubelet-client-key --kubelet-client-certificate
front-proxy-ca front-proxy-ca.key front-proxy-ca.crt kube-apiserver --requestheader-client-ca-file
front-proxy-ca front-proxy-ca.key front-proxy-ca.crt kube-controller-manager --requestheader-client-ca-file
front-proxy-client front-proxy-client.key front-proxy-client.crt kube-apiserver --proxy-client-key-file --proxy-client-cert-file
etcd-ca etcd/ca.key etcd/ca.crt etcd --trusted-ca-file, --peer-trusted-ca-file
kube-etcd etcd/server.key etcd/server.crt etcd --key-file --cert-file
kube-etcd-peer etcd/peer.key etcd/peer.crt etcd --peer-key-file --peer-cert-file
etcd-ca etcd/ca.crt etcdctl --cacert
kube-etcd-healthcheck-client etcd/healthcheck-client.key etcd/healthcheck-client.crt etcdctl --key --cert

注意事項(xiàng)同樣適用于服務(wù)帳戶密鑰對(duì):

私鑰路徑 公鑰路徑 命令 參數(shù)
sa.key kube-controller-manager --service-account-private-key-file
sa.pub kube-apiserver --service-account-key-file

下面的例子展示了自行生成所有密鑰和證書時(shí)所需要提供的文件路徑。 這些路徑基于前面的表格。

/etc/kubernetes/pki/etcd/ca.key
/etc/kubernetes/pki/etcd/ca.crt
/etc/kubernetes/pki/apiserver-etcd-client.key
/etc/kubernetes/pki/apiserver-etcd-client.crt
/etc/kubernetes/pki/ca.key
/etc/kubernetes/pki/ca.crt
/etc/kubernetes/pki/apiserver.key
/etc/kubernetes/pki/apiserver.crt
/etc/kubernetes/pki/apiserver-kubelet-client.key
/etc/kubernetes/pki/apiserver-kubelet-client.crt
/etc/kubernetes/pki/front-proxy-ca.key
/etc/kubernetes/pki/front-proxy-ca.crt
/etc/kubernetes/pki/front-proxy-client.key
/etc/kubernetes/pki/front-proxy-client.crt
/etc/kubernetes/pki/etcd/server.key
/etc/kubernetes/pki/etcd/server.crt
/etc/kubernetes/pki/etcd/peer.key
/etc/kubernetes/pki/etcd/peer.crt
/etc/kubernetes/pki/etcd/healthcheck-client.key
/etc/kubernetes/pki/etcd/healthcheck-client.crt
/etc/kubernetes/pki/sa.key
/etc/kubernetes/pki/sa.pub

為用戶帳戶配置證書 

你必須手動(dòng)配置以下管理員帳戶和服務(wù)帳戶:

文件名 憑據(jù)名稱 默認(rèn) CN O (位于 Subject 中)
admin.conf default-admin kubernetes-admin system:masters
kubelet.conf default-auth system:node: (參閱注釋) system:nodes
controller-manager.conf default-controller-manager system:kube-controller-manager
scheduler.conf default-scheduler system:kube-scheduler

Note: ?kubelet.conf? 中 ?? 的值 必須 與 kubelet 向 apiserver 注冊(cè)時(shí)提供的節(jié)點(diǎn)名稱的值完全匹配。

  1. 對(duì)于每個(gè)配置,請(qǐng)都使用給定的 CN 和 O 生成 x509 證書/密鑰偶對(duì)。
  2. 為每個(gè)配置運(yùn)行下面的 ?kubectl ?命令:
KUBECONFIG= kubectl config set-cluster default-cluster --server=https://:6443 --certificate-authority  --embed-certs
KUBECONFIG= kubectl config set-credentials  --client-key .pem --client-certificate .pem --embed-certs
KUBECONFIG= kubectl config set-context default-system --cluster default-cluster --user 
KUBECONFIG= kubectl config use-context default-system

這些文件用途如下:

文件名 命令 說(shuō)明
admin.conf kubectl 配置集群的管理員
kubelet.conf kubelet 集群中的每個(gè)節(jié)點(diǎn)都需要一份
controller-manager.conf kube-controller-manager 必需添加到 manifests/kube-controller-manager.yaml 清單中
scheduler.conf kube-scheduler 必需添加到 manifests/kube-scheduler.yaml 清單中

下面是前表中所列文件的完整路徑。

/etc/kubernetes/admin.conf
/etc/kubernetes/kubelet.conf
/etc/kubernetes/controller-manager.conf
/etc/kubernetes/scheduler.conf


分享名稱:創(chuàng)新互聯(lián)kubernetes教程:KubernetesPKI證書和要求
轉(zhuǎn)載來(lái)源:http://www.5511xx.com/article/dpcjcod.html