一、简介
今天这篇文章教给大家如何快速部署一套Kubernetes
集群。K8S集群部署有几种方式:kubeadm
、minikube
和二进制包
。前两者属于自动部署,简化部署操作,我们这里强烈推荐初学者使用二进制包部署,因为自动部署屏蔽了很多细节,使得对各个模块感知很少,非常不利用学习。
所以,这篇文章也是使用二进制包部署Kubernetes集群。
二、环境规划
环境说明:
软件 | 版本 |
---|---|
Centos | 7 |
etcd | v3.5.2 |
Docker | v20.10.12 |
kubelet | v1.23.3 |
kubectl | v1.23.3 |
关闭selinux。
角色 | IP | 组件 |
---|---|---|
master | 192.168.164.128 | etcd kube-apiserver kube-controller-manager kube-scheduler docker |
node01 | 192.168.164.129 | kubelet kube-proxy docker |
node02 | 192.168.164.130 | kubelet kube-proxy docker |
三、部署集群
3.1下载二进制包
打开下面网址,下载下面两个红色框框的包。
kubernetes/CHANGELOG-1.23.md at master · kubernetes/kubernetes · GitHub
下载完成后,上传到服务器:
kubernetes-server-linux-amd64.tar.gz
上传到master节点。
kubernetes-node-linux-amd64.tar.gz
上传到node节点。
卸载旧程序:
1 | $ sudo yum remove docker \ |
3.2 master节点操作
3.2.1 安装etcd
etcd服务作为Kubernetes集群的主数据库,在安装Kubernetes各服务之前需要首先安装和启动。
1 | # yum install etcd –y |
1 | 启动: |
注意:Ubuntu系统etcd配置文件在/etc/default/etcd。
3.2.2 安装Master节点组件
1 | $ tar zxvf kubernetes-server-linux-amd64.tar.gz |
3.2.2.1 Apiserver
新建配置文件:
#vi /opt/kubernetes/cfg/kube-apiserver
添加:
1 | # 启用日志标准错误 |
新建systemd服务文件:/lib/systemd/system/kube-apiserver.service
添加:
1 | [Unit] |
启动服务,并设置开机启动:
1 | $ systemctl daemon-reload |
注意:apiserver默认支持etcd3,如果是etcd2,需启动时指定版本选项–storage-backend=etcd2
参考文献:
docker-compose教程:https://blog.csdn.net/pushiqiang/article/details/78682323 //用于把多个服务串联起来统一管理
Kubernetes常用命令:https://www.cnblogs.com/FRESHMANS/p/8444098.html
Kubernetes中文社区:https://www.kubernetes.org.cn/k8s
群集搭建:https://blog.csdn.net/zhenliang8/article/details/78611004
web管理平台portainer:https://www.cnblogs.com/gao88/p/7011175.html