kubernetes1.6 安装之证书(一)
来源:互联网 发布:idea 查看java源代码 编辑:程序博客网 时间:2024/04/28 17:48
安装kubernetes最麻烦的地方应该就是证书的认证,由于kubernetes1.6后加的RBAC,使得配置更加麻烦了,先是制作证书,如果你对openssl或者easyrsa熟悉的话,同理可以替换,先安装cfssl。
wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64chmod +x cfssl_linux-amd64sudo mv cfssl_linux-amd64 /usr/local/bin/cfsslwget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64chmod +x cfssljson_linux-amd64sudo mv cfssljson_linux-amd64 /usr/local/bin/cfssljsonwget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64chmod +x cfssl-certinfo_linux-amd64sudo mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo
关于证书请参考我之前blog
1.生成ca证书
创建ca-config.json
{ "signing": { "default": { "expiry": "8760h" }, "profiles": { "kubernetes": { "usages": [ "signing", "key encipherment", "server auth", "client auth" ], "expiry": "8760h" } } }}
创建ca-csr.json
{ "CN": "kubernetes", "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "k8s", "OU": "System" } ]}
生成证书
cfssl gencert -initca ca-csr.json | cfssljson -bare ca
查看ca证书
ls ca*ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem
2.生成kubernetes证书
创建kubernetes-csr.json
{ "CN": "kubernetes", "hosts": [ "127.0.0.1", "10.39.0.6", "10.39.0.7", "10.39.0.17", "10.39.0.53", "10.254.0.1", "kubernetes", "kubernetes.default", "kubernetes.default.svc", "kubernetes.default.svc.cluster", "kubernetes.default.svc.cluster.local" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "k8s", "OU": "System" } ]}
这个里面配置的IP,是使用该证书机器的IP,根据自己的环境填写其中10.254.0.1是kubernetes自带的service,执行生成命令:
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kubernetes-csr.json | cfssljson -bare kubernetes
查看生成结果:
ls kube*kubernetes.csr kubernetes-csr.json kubernetes-key.pem kubernetes.pem
3.创建admin证书
创建admin-csr.json
{ "CN": "admin", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "system:masters", "OU": "System" } ]}
生成证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.json | cfssljson -bare admin
查看结果:
ls admin*admin.csr admin-csr.json admin-key.pem admin.pem
4.创建proxy证书
创建kube-proxy-csr.json
{ "CN": "system:kube-proxy", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "k8s", "OU": "System" } ]}
生成证书
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-proxy-csr.json | cfssljson -bare kube-proxy
验证
ls kube-proxy*kube-proxy.csr kube-proxy-csr.json kube-proxy-key.pem kube-proxy.pem
5.秘钥分发
mkdir -p /etc/kubernetes/sslcp *.pem /etc/kubernetes/ssl
上面的是要分发到每台机器上面的,但不是每台机器的证书都是一样的,master上面和node上面要分别根据安装的组件去分发。
总的证书概览:
etcd:使用 ca.pem、kubernetes-key.pem、kubernetes.pem;
kube-apiserver:使用 ca.pem、kubernetes-key.pem、kubernetes.pem;
kubelet:使用 ca.pem;
kube-proxy:使用 ca.pem、kube-proxy-key.pem、kube-proxy.pem;
kubectl:使用 ca.pem、admin-key.pem、admin.pem;
0 0
- kubernetes1.6 安装之证书(一)
- kubernetes1.8.4安装指南 -- 5. 证书生成
- centos安装kubernetes1.3(一)
- kubernetes1.6 安装master(二)
- kubernetes1.6 安装node(三)
- kubernetes1.6 安装DNS(四)
- kubernetes1.6 安装Heapster+dashboard(五)
- kubernetes1.6 +flannel 网络安装
- Kubernetes1.1源代码分析(一)
- Kubernetes1.2新特性分析(一)
- ubuntu16.04 编译安装kubernetes1.6
- Kubernetes1.6安装指南 (二进制文件方式)
- 容器编排之Kubernetes1.6.1安装与配置
- kubernetes1.4.1安装教程
- kubernetes1.6.1安装
- iOS帐号、证书之漫谈(一)
- iOS帐号、证书之漫谈(一)
- Ubuntu14.04安装kubernetes1.2.0
- 浅谈Linux下的五种I/O模型
- 定时发邮件
- 机器视觉.形态学图像处理
- C# 入门(2) C#类型与C/C++的差异
- fl2440——按键控制madplay音乐播放器
- kubernetes1.6 安装之证书(一)
- Revit二次开发示例:DisableCommand
- 不使用temp变量来交换两个值??该使用异或吗?
- RecyclerView杂乱整理
- bzoj 1132: [POI2008]Tro (计算几何)
- 拿什么来衡量一个程序员的生产力
- 解决Android Webview 加载一些网页出现白板现象
- 浏览器调试动态样式
- linux初级学习之ladp网络帐号2-8