k8s證書自簽筆記

2021-10-10 18:55:09 字數 2384 閱讀 9152

獲取元件

wget  

wget

wget

建立乙個名為tls的資料夾,並將元件檔案移動到該資料夾下,同時新增可習性許可權

#建立tls資料夾

mkdir -p ~/tls

#移動檔案

mv cfssl_linux-amd64 ~/tls/cfssl

mv cfssljson_linux-amd64 ~/tls/cfssljson

mv cfssl-certinfo_linux-amd64 ~/tls/cfssl-certinfo

# 新增可執行許可權

chmod +x cfssl-certinfo_linux-amd64 cfssljson_linux-amd64 cfssl_linux-amd64

使用命令列工具將模板配置生成到你自己的配置檔案中

# 原理:證書需要證書簽發機構(ca)來簽發,而證書的簽發機構(ca)需要相關的配置檔案來定義

# 執行cfssl命令,並新增print-defaults config > 你自己的證書配置檔案,將預設的ca配置

# 傳送到你的ca配置檔案中

cfssl print-defaults config > ca-config.json

# 此處我需要生成kubernetes 證書簽發機構,所以需將ca-congfig.json檔案中的profiles下的

# www 改為 kubernetes,default下的生效時間需要修改的盡量大一點

vim ca-config.json

, "profiles":}

}}

使用命令列工具將csr請求模板重定向到你自己的csr請求(證書請求檔案)檔案中

# 原理:證書簽發是通過將公鑰、國家、城市、網域名稱等資訊封裝在csr請求中,傳送給證書簽發機構(ca),

# 由證書簽發機構(ca)進行簽名,然後返回證書crt檔案

cfssl print-defaults csr > ca-csr.json

# 此處需要注意,需要為host新增可訪問位址

# 新增"o": "ca",

vim ca-csr.json

,"names":[

]}

簽發ca證書

# 使用cfssl生成證書

cfssl gencert -initca ca-csr.json | cfssljson -bare ca

# 生成證書如下,即:ca.pem

[root@master tls]

# ls *.pem

ca.pem ca-key.pem

建立server證書請求檔案

# 通過ca-csr.json 生成 server-csr.json

cat ca-csr.json > server-csr.json

# server-csr.json 需要將集群的ip新增到hosts中,集群才能夠利用https進行訪問

vim server-csr.json

, "names":[

]}

生成server證書

# 引數profile需要注意的是:需要和ca-config中的配置一致

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json \

-profile=kubernetes server-csr.json | cfssljson -bare server

建立admin使用者證書請求檔案

# 建立admin使用者的證書簽發請求

cat ca-csr.json > admin-csr.json

# 修改cn 為 admin

vim admin-csr.json

, "names":[

]}

簽發admin使用者證書

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.json | cfssljson -bare admin

k8s部署 1 自簽TLS證書

元件 使用的證書 etcd ca.pem,server.pem,server key.pem kube apiserver ca.pem,server.pem,server key.pem kubelet ca.pem,ca key.pem kube proxy ca.pem,kube proxy....

雜亂筆記 k8s

k8s中 1.排程 etcd kubectl 以及資源都要呼叫api server 2.資源排程機制 listwatch 隨時監控節點加入刪除,新pod的 原有節點加標籤 觸發creatset 3.建立應用 service demoset satefulset 補充 無狀態應用,比如 3個pod服務...

k8s中的PKI證書

kubernetes需要pki證書才能進行基於tls的身份驗證,如果使用kubeadm安裝的kubernetes,則會自動生成集群所需要的證書。集群中是如何使用證書 etcd 還實現了雙向 tls 來對客戶端和對其他對等節點進行身份驗證。單根ca 可以建立乙個單根ca,有管理員控制它,該ca可以建立...