Kubernetes集群部署
1。官方提供的三种部署方式
引用>
2. kubernetes平台环境规划
3。自签SSL证书
4。Etcd数据库群集部署
5.节点安装码头工人
6.法兰绒容器集群网络部署
7。部署大师组件
8。部署节点组件
9。部署一个测试示例
10。部署Web UI(仪表板)
11。部署集群内部DNS解析服务(CoreDNS)官方提供的三种部署方式:
minikube:
Minikube是一个工具,可以在本地快速运行单点的Kubernetes,仅用于尝试Kubernetes或日常开发的用户使用
<代码>部署地址:https://kubernetes.io/docs/setup/minikube/代码>kubeadm:
Kubeadm也是一个工具,提供Kubeadm init和Kubeadm加入,用于快速部署Kubernetes集群
<代码>部署地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/代码>二进制包:
推荐,从官方下载发行版的二进制包,手动部署每个组件包,组成Kubernetes集群
<人力资源/>
<代码>下载地址:https://github.com/kubernetes/kubernetes/releases 代码>要解决服务发现的问题,需要下面三大支柱,缺一不可
<编辑> 1。一个强一致性,高可用的服务存储目录编辑><代码>基于拉尔夫算法的etcd天生就是这样一个强一致性,高可用的服务存储目录代码>
<编辑> 2。一秒注册服务和健康服务健康状况的机制编辑><代码>用户可以在etcdz中注册服务,并且对注册的服务配置关键TTL、定时保持服务的心跳以达到监控健康状态的效果代码>
<编辑> 3。一种查找和连接服务的机制编辑><代码>通过在etcd指定的主题下注册的服务业能在对应的主题下查到,为了确保连接,我们可以在每个服务机器上都部署一个代理模式的etcd,这样就可以确保访问etcd集群的服务都能够互相连接代码>
<人力资源/> <人力资源/>演示:二进制部署多节点,单etcd群集
环境准备:
<编辑>相关软件包及文档:编辑><代码>链接:https://pan.baidu.com/s/1nn67GDs8BD6sQTeKH4Ii4w 代码>
<代码>提取码:vx7m 代码><强>老爷:7-3:192.168.18.128 kube-apiserver kube-controller-manager kube-scheduler etcd 强>
<强> Node1:7-4:192.168.18.148 kubelet kube-proxy docekr法兰绒etcd 强>
<强> Node2:7-5:192.168.18.145 kubelet kube-proxy docekr法兰绒etcd 强>
引用>Mester7-3:
<代码类=" language-bash "> root@master ~ # mkdir美丽 root@master ~ # cd k8/[root@master k8] # mkdir etcd-cert [root@master k8] # mv etcd-cert。sh etcd-cert [root@master k8] # ls etcd-cert etcd.sh [root@master k8] # vim cfssl.sh curl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 - l - o/usr/local/bin/cfssl curl https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 - l - o/usr/local/bin/cfssljson curl https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 - l - o/usr/local/bin/cfssl-certinfo chmod + x/usr/local/bin/cfssl/usr/local/bin/cfssljson/usr/local/bin/cfssl-certinfo [root@master k8] # bash cfssl.sh [root@master k8] # ls/usr/local/bin/cfssl cfssl-certinfo cfssljson “定义CA证书” 猫在ca-config。json & lt; & lt; EOF { “签署”:{ “默认”:{ “到期”:“87600 h” }, “简介”:{ “www”: { “到期”:“87600 h”, “用法”:( “签名”, “关键加密”, “服务器身份验证”, “客户端身份验证” ] } } } } EOF “实证书签名” 猫在ca-csr。json & lt; & lt; EOF { “CN”:“etcd CA”, “关键”:{ “算法”:“rsa”, “大小”:2048 }, “名称”:[ { “C”:“CN”, “L”:“南京”, “圣”:“南京” } ] } EOF “生产证书,生成ca-key。pem ca.pem” [root@master k8] # cd etcd-cert/[root@master etcd-cert] # cfssl gencert -initca ca-csr。json | cfssljson光秃秃的ca - 2020/01/15 11:26:22[信息]从CSR生成一个新的CA密钥和证书 2020/01/15 11:26:22[信息]生成收到请求 2020/01/15 11:26:22[信息]收到CSR 2020/01/15 11:26:22[信息]生成关键:rsa - 2048 2020/01/15 11:26:23[信息]编码CSR 2020/01/15 11:26:23[信息]签署证书编号58994014244974115135502281772101176509863440005 ”指定etcd三个节点之间的通信验证” 猫在server-csr。json & lt; & lt; EOF { “CN”:“etcd”, “主机”:( “192.168.18.128”, “192.168.18.148”, “192.168.18.145” ), “关键”:{ “算法”:“rsa”, “大小”:2048 }, “名称”:[ { “C”:“CN”, “L”:“南京”, “圣”:“南京” } ] } EOF “生成ETCD证书服务器密钥。pem server.pem” [root@master etcd-cert] # cfssl gencert ca=ca。pem -ca-key=ca-key。pem配置=ca-config。json文件=www server-csr。json | cfssljson光秃秃的服务器 2020/01/15 11:28:07[信息]生成收到请求 2020/01/15 11:28:07[信息]收到CSR 2020/01/15 11:28:07[信息]生成关键:rsa - 2048 2020/01/15 11:28:07[信息]编码CSR 2020/01/15 11:28:07[信息]签署证书编号153451631889598523484764759860297996765909979890 2020/01/15 11:28:07[警告]这个证书缺乏“主机”字段。这使得它不适合 网站。更多信息见基线要求发行和管理 v.1.1.6 Publicly-Trusted证书,从CA/浏览器论坛(https://cabforum.org); 具体来说,部分10.2.3(“信息需求”)。Kubernetes群集之:二进制部署单etcd,多节点集群