curl -s -l -o /bin/cfssl
curl -s -l -o /bin/cfssljson
curl -s -l -o /bin/cfssl-certinfo
chmod +x /bin/cfssl*
client certificate: 用於服務端認證客戶端,例如etcdctl、etcd proxy、fleetctl、docker客戶端
server certificate: 服務端使用,客戶端以此驗證服務端身份,例如docker服務端、kube-apiserver
peer certificate: 雙向證書,用於etcd集群成員間通訊
mkdir /opt/ssl
cd /opt/ssl
cfssl print-defaults config > ca-config
.json
cfssl print-defaults csr > ca-csr
.json
,
"profiles": ,
"client": ,
"peer": }}
}
,
"names": [
]}
cfssl gencert -initca ca-csr.json | cfssljson -bare ca -
生成ca.pem、ca.csr、ca-key.pem(ca私鑰,需妥善保管)
cfssl print-defaults csr > server-csr
.json
vim server-csr.json
, "names": [
]}
cfssl gencert -ca
=ca.pem -ca
-key
=ca-key
.pem -config
=ca-config
.json -profile
=kubernetes server-csr
.json | cfssljson -bare server
簽發client certificate
cfssl print-defaults csr > admin-csr
.json
vim admin-csr.json
, "names": [
]}
cfssl gencert -ca
=ca.pem -ca
-key
=ca-key
.pem -config
=ca-config
.json -profile
=kubernetes admin-csr
.json | cfssljson -bare admin
簽發peer certificate
cfssl print-defaults csr > kube-proxy-csr.json
vim kube-proxy-csr.json
, "names": [
]}
cfssl gencert -ca
=ca.pem -ca
-key
=ca-key
.pem -config
=ca-config
.json -profile
=kubernetes kube-proxy
-csr
.json | cfssljson -bare kube-proxy
針對etcd服務,每個etcd節點上按照上述方法生成相應的證書和私鑰
校驗生成的證書是否和配置相符
openssl x509 -in ca.pem -text
-noout
openssl x509 -in server.pem -text
-noout
openssl x509 -in client.pem -text
-noout
**: k8s部署之使用CFSSL建立證書
kubernetes系統的各元件需要使用tls證書對通訊進行加密,本文件使用cloudflare的 pki 工具集 cfssl 來生成 certificate authority ca 和其它證書 生成的 ca 證書和秘鑰檔案如下 使用證書的元件如下 注意 以下操作都在 master 節點即 172...
k8s部署之使用CFSSL建立證書
curl s l o bin cfssl curl s l o bin cfssljson curl s l o bin cfssl certinfo chmod x bin cfssl client certificate 用於服務端認證客戶端,例如etcdctl etcd proxy fleet...
K8s部署prometheus監控K8s細節
prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...