Kubernetes/K8s CFSSL 证书相关
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,各节点访问之间使用证书验证可靠性work node --> load banlancer -->api server -->etcd<--etcdworknode 访问load banlancer 需
千家信息网最后更新 2026年11月02日Kubernetes/K8s CFSSL 证书相关
各节点访问之间使用证书验证可靠性
work node --> load banlancer -->api server -->etcd<--etcd
worknode 访问load banlancer 需要验证证书的有限性 所以需要同一个ca根证书,同理其他也是 etcd 由于需要互访所以是双向证书
1,使用CFSSL签发生成证书
curl -s -L -o /bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64curl -s -L -o /bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64curl -s -L -o /bin/cfssl-certinfo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64chmod +x /bin/cfssl*容器相关证书类型
client certificate: 用于服务端认证客户端,例如etcdctl、etcd proxy、fleetctl、docker客户端
server certificate: 服务端使用,客户端以此验证服务端身份,例如docker服务端、kube-apiserver
peer certificate: 双向证书,用于etcd集群成员间通信
创建生成CA根证书
##生成默认CA配置mkdir /opt/sslcd /opt/sslcfssl print-defaults config > ca-config.jsoncfssl print-defaults csr > ca-csr.json####################修改ca-config.json,分别配置针对三种不同证书类型的profile,其中有效期43800h为5年{"signing": { "default": { "expiry": "43800h" }, "profiles": { "server": { "expiry": "43800h", "usages": [ "signing", "key encipherment", "server auth" ] }, "client": { "expiry": "43800h", "usages": [ "signing", "key encipherment", "client auth" ] }, "peer": { "expiry": "43800h", "usages": [ "signing", "key encipherment", "server auth", "client auth" ] } }}}##字段说明##ca-config.json:可以定义多个 profiles,分别指定不同的过期时间、使用场景等参数;后续在签名证书时使用某个 profile;##signing:表示该证书可用于签名其它证书;生成的 ca.pem 证书中 CA:TRUE;##server auth:表示client可以用该 CA 对server提供的证书进行验证;##client auth:表示server可以用该CA对client提供的证书进行验证;修改ca-csr.json
{"CN": "Self Signed Ca","key": { "algo": "rsa", "size": 2048},"names": [ { "C": "CN", "L": "SH", "O": "Netease", "ST": "SH", "OU": "OT" } ]}#######字段说明"CN":Common Name,kube-apiserver 从证书中提取该字段作为请求的用户名 (User Name);"O":Organization,kube-apiserver 从证书中提取该字段作为请求用户所属的组 (Group);"C": Country, 国家"L": Locality,地区,城市"O": Organization Name,组织名称,公司名称"OU": Organization Unit Name,组织单位名称,公司部门"ST": State,州,省生成CA证书和私钥
cfssl gencert -initca ca-csr.json | cfssljson -bare ca##生成ca.pem、ca.csr、ca-key.pem(CA私钥,需妥善保管)签发Server Certificate,client Certificate,peer Certificate,注其中的hosts 地址 和cn名称 ,其他正文格式都是一样
cfssl print-defaults csr > server.jsonvim server.json{ "CN": "Server", "hosts": [ "192.168.1.1" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "L": "SH", "ST": "SH" } ]}##生成服务端证书和私钥cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=server server.json | cfssljson -bare server验证证书
openssl x509 -in server.pem -text -nooutCertificate: Data: Version: 3 (0x2) Serial Number: 6f:25:cf:8d:42:1e:c8:2d:b8:78:95:d1:f4:0a:25:8e:bb:48:53:9d Signature Algorithm: sha256WithRSAEncryption Issuer: C=CN, ST=San Francisco, L=Chongqing, CN=test Validity Not Before: Feb 13 11:35:00 2019 GMT Not After : Feb 13 11:35:00 2020 GMT Subject: C=US, ST=San Francisco, L=CA, CN=etcd Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:b6:79:4d:af:27:a0:c9:0e:8a:d0:8c:25:d4:12: f7:22:21:45:ce:80:25:e5:c6:0b:47:fe:ba:79:c7: aa:14:d6:51:be:45:2d:92:49:a5:07:37:36:66:9b: 38:a9:9c:9c:0b:cf:91:45:55:7a:20:43:ad:64:09: 31:bb:25:30:ba:50:20:fe:3b:4e:cf:8c:21:bc:43: d8:cf:f4:1b:d6:ed:3b:3e:9d:53:74:89:db:17:4b: a7:a2:01:bb:00:36:74:95:a7:cf:0a:24:a1:0d:62: 6d:47:d3:f4:3a:93:e4:15:df:20:af:59:fb:5f:77: 9b:76:45:ad:68:24:69:d3:1a:cf:75:ef:3f:6d:19: d6:3c:54:76:ec:1b:a3:98:bf:e3:d6:d7:a5:f8:ec: 12:47:ee:06:ab:ae:31:8b:83:be:43:6e:b9:41:2d: 82:ff:c6:20:e6:2c:69:d5:81:d4:9a:07:b2:e4:9a: 40:af:e9:ed:98:4e:c0:27:ef:7c:14:86:cf:6e:6e: 18:98:1c:d1:d9:dd:4e:a3:10:d3:63:f9:00:d6:3b: 04:e9:47:54:af:87:db:83:d5:8a:8a:05:f4:e8:38: 4d:64:e7:ae:b4:5f:3f:6a:18:c8:87:32:7d:24:46: 72:a8:4a:7f:dd:5c:5b:cf:6a:2f:af:88:bb:b2:d8: 02:af Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication X509v3 Basic Constraints: critical CA:FALSE X509v3 Subject Key Identifier: B7:EF:2C:02:18:05:D0:7E:30:63:BB:F9:8F:52:B4:1E:1F:57:4A:C8 X509v3 Authority Key Identifier: keyid:3C:58:00:7D:E0:2B:C1:AE:81:88:58:F1:FB:95:45:88:33:28:F7:00 X509v3 Subject Alternative Name: IP Address:172.19.0.203, IP Address:172.19.0.204, IP Address:172.19.0.205 Signature Algorithm: sha256WithRSAEncryption 35:8f:af:a7:03:c3:8f:5e:42:ec:10:af:33:c8:4e:b1:0e:d5: f7:3e:b2:5f:5d:cf:b4:49:15:94:b1:6b:78:3a:b5:fb:95:68: ab:ff:ff:45:74:f9:5f:17:a7:be:16:c8:92:66:28:d0:7c:6d: 60:0d:82:26:65:01:71:f1:93:0d:0b:44:f3:08:59:9e:d5:89: d5:8c:83:d1:dc:b2:a5:8f:b6:be:e8:9e:79:3c:62:02:6b:0e: b0:1e:82:b6:2c:4c:b0:f8:eb:93:20:84:8c:c6:32:69:b3:88: 27:bb:e8:7f:1c:37:01:26:35:0b:9a:61:bf:cc:00:c7:17:80: 61:11:cb:b7:4d:66:85:e6:13:3e:8c:8e:be:ec:47:d1:00:85: cb:b1:aa:69:6a:49:35:44:43:d9:cf:67:fd:ec:63:50:96:4a: 26:5b:36:c8:72:15:d7:5f:49:e5:30:98:0e:13:58:70:d2:72: 03:02:45:c1:9c:81:dc:e0:e1:1c:f0:a4:e3:13:e1:b8:d4:01: f7:83:d6:cf:72:ba:46:aa:84:55:57:64:e6:93:bb:bc:68:55: 32:cd:a4:d1:d6:db:e7:e6:9f:4f:1e:8a:24:44:76:42:ec:9d: 4e:d2:5a:7f:74:7b:9a:66:ed:c3:1d:e4:5d:1a:07:ed:c6:fe: bf:8e:d2:80表示服务器证书
表示客户端证书
表示双向证书
表示CA证书
证书
生成
服务
验证
名称
字段
客户
客户端
双向
不同
公司
用户
类型
配置
有效
之间
单位
参数
可靠性
国家
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳市人人互联网科技有限公司
河南真二互联网科技有限公司
腾讯阿里互联网科技
奇酷互联网络科技公司
丰台科技园 互联网
亿账通互联网科技
上游互联网科技
广州紫鲸互联网科技
互联网科技的未来发展
互联网公司会议桌创意科技软装饰
互联网经济与金融科技
语蝶互联网科技有限公司
苏州五指互联网络科技有限
互联网保险科技创业
国大互联网教育科技有限公司工作
智帮互联网科技公司最近动向
广东工业互联网大赛深圳学泰科技
工业互联网科技成果转化
扫呗互联网科技有限公司
好易买互联网科技
互联网科技
南京欣网互联网络科技
中关村互联网 科技集团
江苏根荣互联网科技
互联网科技有限公司图片
奇酷互联网络科技
国外互联网科技网站
中国科技互联网公司收入
中天科技中国工业互联网
互联网科技融合创新