linux cpu占用率如何看
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~