企业级k8s集群部署
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业级k8s集群部署相关的知识,希望对你有一定的参考价值。
参考技术A二进制包
注:推荐用二进制包部署Kubernetes集群,虽手动部署麻烦,但可以学习很多工作原理利于后期维护。
环境
可以使用VMware虚拟机,宿主机必须8G内存以上
• 服务器可以访问外网,有从网上拉取镜像的需求
单Master服务器规划:( 注:部署时候根据具体环境进行IP地址调整即可 )
这里使用3台组建集群,可容忍1台机器故障,当然,你也可以使用5台组建集群
etcd1: 192.168.3.110 etcd2: 192.168.3.112 etcd3: 192.168.3.113
cfssl是一个开源的证书管理工具,使用json文件生成证书,相比openssl更方便使用。
找任意一台服务器操作,这里用Master节点。
创建工作目录:
自签CA:
生成证书:
会生成ca.pem和ca-key.pem文件。
创建证书申请文件:
注:上述文件hosts字段中IP为所有etcd节点的集群内部通信IP,一个都不能少!为了方便后期扩容可以多写几个预留的IP。
生成证书:
会生成etcd.pem和etcd-key.pem文件。
https://github.com/etcd-io/etcd/releases/download/v3.5.1/ etcd-v3.5.1-linux-amd64.tar.gz
以下在节点1上操作,然后将文件拷贝到其他集群机器
把刚才生成的证书拷贝到配置文件中的路径:
注意修改节点2和节点3分别etcd.conf配置,按照下面提示的修改
启动各节点的etcd服务
如果输出上面信息,就说明集群部署成功。
如果有问题看日志:/var/log/message
docker二进制下载地址:
https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz
注:使用yum安装也行
集群所有机器都安装docker
生成证书:
会生成ca.pem和ca-key.pem文件。
创建证书申请文件:
生成证书:
会生成k8s.pem和k8s-key.pem文件。
下载地址参考:
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#downloads-for-v12013
Wget https://dl.k8s.io/v1.20.13/kubernetes-server-linux-amd64.tar.gz
把刚才生成的证书拷贝到配置文件中的路径:
TLS Bootstrapping 机制,对work-node加入进行自签证书用
创建上述配置文件中token文件:
token 可以自行生产,百度下怎么生产
kube-apiserver服务
生成kube-controller-manager证书:
生成kubeconfig文件(以下是shell命令,直接在终端执行):
生成kube-scheduler证书:
生成kubeconfig文件:
生成kubeconfig文件:
通过kubectl工具查看当前集群组件状态:
在所有worker node创建工作目录:
从master节点拷贝:
注:由于网络插件还没有部署,节点会没有准备就绪 NotReady
二进制包下载地址:https://github.com/containernetworking/plugins/releases
确保kubelet启用CNI:
在Master执行:
应用场景:例如kubectl logs
在Master节点将Worker Node涉及文件拷贝到新节点192.168.3.112/113
注:这几个文件是证书申请审批后自动生成的,每个Node不同,必须删除
Node2(192.168.3.113 )节点同上。记得修改主机名!
访问地址:https://NodeIP:30001
创建service account并绑定默认cluster-admin管理员集群角色:
使用输出的token登录Dashboard。
CoreDNS用于集群内部Service名称解析。
DNS解析测试:
这样 单Master集群就搭建完成了
以上是关于企业级k8s集群部署的主要内容,如果未能解决你的问题,请参考以下文章