成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

k8s 證書(shū)配置大全

lentrue / 2118人閱讀

摘要:證書(shū)配置大全證書(shū)是網(wǎng)絡(luò)通信的安全的要素,是現(xiàn)代網(wǎng)絡(luò)通信的基本配置。包含一個(gè)命令行工具用于簽名,驗(yàn)證并且捆綁證書(shū)的服務(wù)。

Kubernetes 證書(shū)配置大全

證書(shū)是網(wǎng)絡(luò)通信的安全的要素,是現(xiàn)代網(wǎng)絡(luò)通信的基本配置。各種遠(yuǎn)程調(diào)用的安全都離不開(kāi)非對(duì)稱(chēng)加密提供的保障。

下載證書(shū)工具

cfssl 是 CloudFlare 開(kāi)源的一款PKI/TLS工具。 CFSSL 包含一個(gè)命令行工具(cfssl, cfssljson)用于簽名,驗(yàn)證并且捆綁TLS證書(shū)的 HTTP API 服務(wù)。 使用Go語(yǔ)言編寫(xiě)。與 OpenSSL 相比,cfssl 使用起來(lái)更簡(jiǎn)單。

Github 地址: https://github.com/cloudflare...
官網(wǎng)地址: https://pkg.cfssl.org/

如果有g(shù)olang環(huán)境,用go安裝很簡(jiǎn)單

$ go get -u github.com/cloudflare/cfssl/cmd/cfssl
$ go get -u github.com/cloudflare/cfssl/cmd/cfssljson

cfssljson 實(shí)用程序

大部分 cfssl 的輸出為 JSON 格式。cfssljson 可以將輸出拆分出來(lái)為獨(dú)立的key,certificate,CSR 和 bundle文件。該工具需要指定參數(shù),-f 指定輸入文件,后接一個(gè)參數(shù),指定生成的文件的基本名稱(chēng)。如果輸入文件名是 -(默認(rèn)值),則 cfssljson 從標(biāo)準(zhǔn)輸入讀取。它以下列方式將 JSON 文件中的鍵映射到文件名:

如果指定了cert或certificate, 將生成basename.pem。

如果指定了key 或private_key,則將生成basename-key.pem。

如果指定了csr 或certificate_request,則將生成basename.csr。

如果 指定了bundle, 則將生成basename-bundle.pem。

如果指定了ocspResponse, 則將生成basename-response.der。
您可以傳遞-stdout輸出編碼內(nèi)容到標(biāo)準(zhǔn)輸出,而不是保存到文件。

驗(yàn)證證書(shū)有效期
cfssl certinfo -cert /etc/kubernetes/ssl/ca.pem |grep not_after
cfssl certinfo -cert  /etc/kubernetes/ssl/admin.pem |grep not_after
cfssl certinfo -cert /etc/kubernetes/ssl/kubernetes.pem |grep not_after
cfssl certinfo -cert /etc/kubernetes/ssl/kube-proxy.pem  |grep not_after
生成新證書(shū)

證書(shū)分四類(lèi)

ca.pem - 私有CA根證書(shū)

kubernetes.pem - 與 node 通信的,

kube-proxy.pem - k8s 與容器通信的

admin.pem - kubectl 管理用

生成證書(shū)請(qǐng)求

在生成證書(shū)過(guò)程中需要有四類(lèi)文件

*.csr - 證書(shū)請(qǐng)求文件,base64格式,有-----BEGIN CERTIFICATE REQUEST-----標(biāo)識(shí)

*csr.json - 證書(shū)請(qǐng)求文件,是上面格式的再封裝,便于傳給cfssl,json格式,大括號(hào)開(kāi)始

*-key.pem - 私匙文件,base64格式,有-----BEGIN RSA PRIVATE KEY-----標(biāo)識(shí)

*.pem - 證書(shū)文件,base64格式,可以用cfssl certinfo -cert 文件名查看有效期,有-----BEGIN CERTIFICATE-----標(biāo)識(shí)

以上四種文件,前兩類(lèi)是中間產(chǎn)物,過(guò)后可以不保留,后兩個(gè)需要配置到系統(tǒng)中 (通常是主從結(jié)點(diǎn)的/etc/kubernetes/ssl目錄下)。

中間文件和生成的文件最好放在一起

cat > ca-csr.json << "HERE"
{
  "CN": "kubernetes",
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "CN",
      "ST": "BeiJing",
      "L": "BeiJing",
      "O": "k8s",
      "OU": "System"
    }
  ]
}
HERE

部分字段說(shuō)明:
“CN”:Common Name,kube-apiserver 從證書(shū)中提取該字段作為請(qǐng)求的用戶名 (User Name);瀏覽器使用該字段驗(yàn)證網(wǎng)站是否合法;
“O”:Organization,kube-apiserver 從證書(shū)中提取該字段作為請(qǐng)求用戶所屬的組 (Group);

其他幾類(lèi)證書(shū)請(qǐng)求類(lèi)似

用證書(shū)請(qǐng)求生成證書(shū)
cfssl gencert -initca ca-csr.json | cfssljson -bare ca
配置證書(shū),使其生效

需要把生成的證書(shū)復(fù)制到全部 master和 node 結(jié)點(diǎn)。

scp *.pem yourname@yournode:/etc/kubernetes/ssl/

在 master 結(jié)點(diǎn)上生成~/.kube/config便于kubectl日常交互使用

KUBE_APISERVER="https://192.168.122.100:6443"  #這里換成你的 master 結(jié)點(diǎn) IP
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
ls ~/.kube/config

結(jié)點(diǎn)間通信用的證書(shū)配置

cd /etc/kubernetes
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
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
kubectl create clusterrolebinding kubelet-bootstrap 
--clusterrole=system:node-bootstrapper 
--user=kubelet-bootstrap
bootstrap方式給節(jié)點(diǎn)頒發(fā)證書(shū)

在配置好kubelet-bootstrap.kubeconfig后,重啟結(jié)點(diǎn),結(jié)點(diǎn)會(huì)向master申請(qǐng)證書(shū)。

master結(jié)點(diǎn)上運(yùn)行

kubectl get certificatesigningrequests

會(huì)發(fā)現(xiàn)以下類(lèi)似的輸出

NAME                 AGE       REQUESTOR           CONDITION
node-csr-dAxCUJNZ4   22m       kubelet-bootstrap   Pending

通過(guò)以下命令,授權(quán)頒發(fā)給節(jié)點(diǎn)證書(shū)

kubectl certificate approve node-csr-dAxCUJNZ4

通過(guò)后正常后會(huì)輸出

certificatesigningrequest "node-csr-dAxCUJNZ4" approved

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/32971.html

相關(guān)文章

  • K8S學(xué)習(xí)筆記 | 如何部署 Kubernetes master 節(jié)點(diǎn)

    摘要:年初開(kāi)始研究,至目前已發(fā)表近篇學(xué)習(xí)筆記。同時(shí),他也是中國(guó)社區(qū)的活躍者,見(jiàn)證了中國(guó)社區(qū)的一路成長(zhǎng)。經(jīng)本人授權(quán),從本周開(kāi)始,中國(guó)將轉(zhuǎn)載他的學(xué)習(xí)筆記,由淺入深地分享他在學(xué)習(xí)過(guò)程中的收獲。節(jié)點(diǎn)包含的組件目前這三個(gè)組件需要部署在同一臺(tái)機(jī)器上。 作者:宋凈超 宋凈超(Jimmy Song),TalkingData 容器技術(shù)負(fù)責(zé)人,微服務(wù)和云原生應(yīng)用布道者。2017 年初開(kāi)始研究 Kubernete...

    ernest.wang 評(píng)論0 收藏0
  • 證書(shū)簽名工具 CFSSL

    摘要:任何知道私鑰的人都可以充當(dāng)頒發(fā)證書(shū)。此密鑰允許在中創(chuàng)建任何類(lèi)型的證書(shū)。使用認(rèn)證中心的私鑰和證書(shū)簽名生成機(jī)構(gòu)的證書(shū)和私鑰。將在任何機(jī)器上工作。它將簡(jiǎn)化證書(shū)例程,但會(huì)增加安全風(fēng)險(xiǎn)。 資源 https://blog.cloudflare.com/i... 官方博客 特性 概念 安裝 下載安裝 wget https://pkg.cfssl.org/R1.2/cfssl_linux-a...

    沈儉 評(píng)論0 收藏0
  • etcd管理,證書(shū)配置,擴(kuò)展,遷移恢復(fù),帶證書(shū)擴(kuò)展節(jié)點(diǎn)

    摘要:廣告各版本離線安裝包證書(shū)配置生產(chǎn)環(huán)境中給配置證書(shū)相當(dāng)重要,如果沒(méi)有證書(shū),那么集群很容易被黑客利用而去挖礦什么的。細(xì)節(jié)問(wèn)題非常多,一個(gè)端口,一個(gè)都不要填錯(cuò),否則就會(huì)各種錯(cuò)誤包括新加節(jié)點(diǎn)要清數(shù)據(jù)這些小細(xì)節(jié)問(wèn)題。 廣告 | kubernetes各版本離線安裝包 etcd 證書(shū)配置 生產(chǎn)環(huán)境中給etcd配置證書(shū)相當(dāng)重要,如果沒(méi)有證書(shū),那么k8s集群很容易被黑客利用而去挖礦什么的。做法非常簡(jiǎn)單...

    張漢慶 評(píng)論0 收藏0
  • etcd管理,證書(shū)配置,擴(kuò)展,遷移恢復(fù),帶證書(shū)擴(kuò)展節(jié)點(diǎn)

    摘要:廣告各版本離線安裝包證書(shū)配置生產(chǎn)環(huán)境中給配置證書(shū)相當(dāng)重要,如果沒(méi)有證書(shū),那么集群很容易被黑客利用而去挖礦什么的。細(xì)節(jié)問(wèn)題非常多,一個(gè)端口,一個(gè)都不要填錯(cuò),否則就會(huì)各種錯(cuò)誤包括新加節(jié)點(diǎn)要清數(shù)據(jù)這些小細(xì)節(jié)問(wèn)題。 廣告 | kubernetes各版本離線安裝包 etcd 證書(shū)配置 生產(chǎn)環(huán)境中給etcd配置證書(shū)相當(dāng)重要,如果沒(méi)有證書(shū),那么k8s集群很容易被黑客利用而去挖礦什么的。做法非常簡(jiǎn)單...

    mengbo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<