Kubernetes1.91(K8s)安装部署过程(一)--证书安装

网友投稿 253 2022-10-24

Kubernetes1.91(K8s)安装部署过程(一)--证书安装

安装前忠告:如果你用的是虚拟机,强烈不建议你使用克隆(链接克隆)的方式,至于完整克隆不知道有没有问题,每一台全新安装centos7系统最好。

一、安装前主题环境准备

1、docker安装

建议使用官网yum源安装,添加yum源之后,直接yum install docker即可

2、关闭所有节点的selinux

最好修改配置文件为disabled,而不是临时更改,避免以后重启引起不必要的麻烦

3、安装私有仓库环境Harbor

具体安装过程参考我的博客

4、基本架构

IP

节点

备注


10.10.90.105

master

etcd复用此节点


10.10.90.106

node1

etcd复用此节点


10.10.90.105

node2

etcd复用此节点


二、安装预览

安装过程参考TLS 证书和秘钥

2、创建kubeconfig 文件

3、创建高可用etcd集群

4、部署master节点

5、安装flannel网络插件

6、部署node节点

7、安装kubedns插件

8、安装dashboard(后面教程已经更换为coredns)插件

9、安装heapster插件

10、安装EFK插件

三、部署步骤

1、创建TLS证书和秘钥

1)安装CFSSL工具

复制全部粘贴的命令行执行,一步到位,操作节点master

wget +x cfssl_linux-amd64mv cfssl_linux-amd64 /usr/local/bin/cfsslwget +x cfssljson_linux-amd64mv cfssljson_linux-amd64 /usr/local/bin/cfssljsonwget +x cfssl-certinfo_linux-amd64mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfoexport PATH=/usr/local/bin:$PATH

2)创建CA

mkdir /root/sslcd /root/sslcfssl print-defaults config > config.jsoncfssl print-defaults csr > csr.json# 根据config.json文件的格式创建如下的ca-config.json文件# 过期时间设置成了 87600hcat > ca-config.json <

3)创建CA证书签名请求

创建 CA 证书签名请求创建 ca-csr.json 文件:cat >ca-csr.json << EOF{ "CN": "kubernetes", "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "k8s", "OU": "System" } ]}EOF

目前为止4个文件了。

4)生成CA证书私钥

$ cfssl gencert -initca ca-csr.json | cfssljson -bare ca$ ls ca*ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem

目前为止7个文件了,ca开头的5个文件

5)创建kubernetes证书

hosts字段填写上所有你要用到的节点ip,创建 kubernetes 证书签名请求文件 kubernetes-csr.json:

{ "CN": "kubernetes", "hosts": [ "127.0.0.1", "10.10.90.105", "10.10.90.106", "10.10.90.107",    "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" } ]}

6)生成kubernetes证书和私钥

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

截止到目前11个文件了,kuber开头的4个

以上2步可以合并成一个步骤,少生成1个kubernetes-csr.json文件,直接在命令行中输入参数代理了文件输入。

echo '{"CN":"kubernetes","hosts":[""],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes -hostname="127.0.0.1,10.10.90.105,10.10.90.106,10.10.90.106,10.254.0.1,kubernetes,kubernetes.default" - | cfssljson -bare kubernetes

7)创建admin证书

vim admin-csr.json

{ "CN": "admin", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "BeiJing", "L": "BeiJing", "O": "system:masters", "OU": "System" } ]}

8)生成admin证书和私钥

$ 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

截止目前15个文件,admin开头的4个

9)创建kuber-proxy证书

vim 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" } ]}

10)生成相关证书和私钥

$ 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

截止到目前19个文件,kube-proxy开头的4个

11)校验证书,举例校验kubernetes.pem证书,2个方法都可以,看输出内容可json定义是否一致。

openssl x509 -noout -text -in kubernetes.pem cfssl-certinfo -cert kubernetes.pem

12)分发证书

将生成的证书cp到指定目录备用,除了master,2个node节点也需要拷贝到这个这些文件,为了方便copy文件,建议2个node节点针对master做免密码登录

mkdir -p /etc/kubernetes/sslcp *.pem /etc/kubernetes/ssl

从上面的顺序可以看出pem文件的创建都是以一个json文件为输入进行创建的,json文件最后对我们并不重要,只需要把pem文件分别scp拷贝的所有node的/etc/kubernetes/ssl文件夹即可。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:电脑I/O接口永远都要插三次的usb接口
下一篇:复杂模块接口的独立设计
相关文章

 发表评论

暂时没有评论,来抢沙发吧~