使用kuboard安装kubernetes集群 kubelet安装
一、配置要求
? 至少2台 2核4G 的服务器
? CentOS 7.6 / 7.7 / 7.8/ 7.9
Host Node | IOS | CPU | Memory | Disk | IP |
master | CentOS Linux 7 | 4 cores | 4G | 40G | 192.168.59.157 |
worker1 | CentOS Linux 7 | 4 cores | 4G | 40G | 192.168.59.158 |
worker1 | CentOS Linux 7 | 4 cores | 4G | 40G | 192.168.59.159 |
要安装 kubernetes 集群机器,需要满足以下几个条件:
?一台或多台机器,安装操作系统 CentOS 7。
?硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘40GB或更多。
?可以访问互联网,安装过程需要拉取镜像,安装软件。
如下虚拟机,主节点 master 的配置。
如下两个 worker 节点,配置也都相同?。
上面规划安装了三台虚拟机,如上的硬件配置,将可以搭建一套单 master 集群。
二、配置免密登录
三台服务器都修改一下 hosts 文件按下面的方式执行,然后查看 hosts 文件的变化。
三台服务器之间配置互信免密登录,后续会很方便。
# ssh-keygen -t rsa
使用 ssh-copy-id 复制公钥到所有服务器节点
# ssh-copy-id -i ~/.ssh/id_rsa.pub k8sworker1
三、kuboard 部署方式介绍
利用 Kuboard 可以快速部署 kubernetes 集群,这个工具通过几条指令就可以搭建完一套 kubernetes 集群的部署。
Kuboard 官网,一步一步介绍的都非常全面详细,按安装教程执行即可。
https://kuboard.cn/
安装前还有一些系统初始化操作
3.1 关闭防火墙
# systemctl status firewalld
# systemctl stop firewalld
# systemctl disable firewalld #禁止开机启动
3.2 关闭selinux:
# sed -i 's/enforcing/disabled/' /etc/selinux/config #永久
# setenforce 0 #临时
查看selinux状态
# sestatus #查看是否生效
# getenforce #查看是否生效
3.3 关闭swap:
# sed -i 's/.*swap.*/#&/' /etc/fstab #注释掉swap这一行,永久关闭。
# swapoff -a #临时
# free -lhgt #查看分区空间
3.4 修改主机名:
hostnamectl set-hostname <hostname>
# hostnamectl set-hostname k8smaster
# hostnamectl set-hostname k8sworker1
# hostnamectl set-hostname k8sworker2
3.5 设置 hostname 解析
# echo "127.0.0.1 $(hostname)" >> /etc/hosts
3.6 检测网络
# ip route show
# ip address
四、开始安装
使用 root 身份在所有节点执行如下代码,进行安装软件:
# export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
# curl -sSL https://kuboard.cn/install-script/v1.19.x/install_kubelet.sh | sh -s 1.19.5
初始化 master 节点,只在 master 机器上执行,需要 master 机器的 IP 即可。
# export MASTER_IP=192.168.59.157
# export APISERVER_NAME=apiserver.demo
# export POD_SUBNET=10.100.0.1/16
# echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
# curl -sSL https://kuboard.cn/install-script/v1.19.x/init_master.sh | sh -s 1.19.5
检查 master 初始化结果
# echo MASTER_IP=${MASTER_IP} && echo APISERVER_NAME=${APISERVER_NAME} && echo POD_SUBNET=${POD_SUBNET}
MASTER_IP=192.168.59.157
APISERVER_NAME=apiserver.demo
POD_SUBNET=10.100.0.1/16
#
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/k8sxio/kube-proxy v1.19.5 6e5666d85a31 2 years ago 118MB
registry.aliyuncs.com/k8sxio/kube-controller-manager v1.19.5 f196e958af67 2 years ago 111MB
registry.aliyuncs.com/k8sxio/kube-scheduler v1.19.5 350a602e5310 2 years ago 45.6MB
registry.aliyuncs.com/k8sxio/kube-apiserver v1.19.5 72efb76839e7 2 years ago 119MB
registry.aliyuncs.com/k8sxio/etcd 3.4.13-0 0369cf4303ff 3 years ago 253MB
registry.aliyuncs.com/k8sxio/coredns 1.7.0 bfe3a36ebd25 3 years ago 45.2MB
calico/pod2daemon-flexvol v3.13.1 e8c600448aae 3 years ago 111MB
calico/cni v3.13.1 6912ec2cfae6 3 years ago 207MB
registry.aliyuncs.com/k8sxio/pause 3.2 80d28bedfe5d 3 years ago 683kB
#
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
初始化 worker 节点
在 master 节点上执行,生成一个 token 信息。
# kubeadm token create --print-join-command
W0910 21:05:25.880930 14411 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
kubeadm join apiserver.demo:6443 --token df4ed3.9ma9032slc9j0ujh --discovery-token-ca-cert-hash sha256:a2a656b76c50c30c59f3db0cf13ecc75daa4755eca7508734680beb1abd31243
针对所有的 worker 节点执行
# export MASTER_IP=192.168.59.157
# export APISERVER_NAME=apiserver.demo
# echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
# kubeadm join apiserver.demo:6443 --token df4ed3.9ma9032slc9j0ujh --discovery-token-ca-cert-hash sha256:a2a656b76c50c30c59f3db0cf13ecc75daa4755eca7508734680beb1abd31243
检查初始化结果
在 master 节点上执行
上面有一个提示 ImagePullBackOff 状态,这说明镜像还在下载过程中,还没有完全下载好,请稍等一会,?镜像下载完成,服务就正常了。
输出结果如下所示
说明 kubernetes 集群就安装部署?完成,到此,今天的主题分享,使用 kuboard 安装 kubernetes 集群也就结束了?。
写在最后
在不断的项目实施过程中,也不断的在经验总结,个人能力的提升还需要不断的学习,和大家共勉,文章中的分享有不恰当甚至错误的理解,也希望能够得到大家的指正,留言多交流。如对各位有帮助的,也请动动发财的手,点赞点个关注,也是对我的一种鼓励,谢谢各位。