一步安装k8s集群——5分钟在CentOS安装k8s集群——非常简单一看就会
程序员文章站
2022-03-07 11:12:36
...
文章目录
学习k8s,必须得安装一台集群,去敲命令才能更加明白知识点,比如集群的网络,pvc等
由于百度出来的前几页的安装教程,有点难懂,图片丢失或者没有文件可以下载。因此整理出这篇超级简单安装集群的方式。
本文采用看kubeadm安装
k8s安装
安装包下载地址:qsm-k8s-安装包
规划:
192.168.180.130 master
192.168.180.131 node1
192.168.180.129 node2
1、环境配置
-
关闭防火墙、关闭selinux、关闭swap。三台机器都需要执行
# 关闭防火墙 systemctl stop firewalld # 暂时关闭,不用重启, setenforce 0 # 永久关闭,需要重启机器,。所以2个操作一起做 vim /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled # 临时关闭swap swapoff -a # 永久关闭swap分区,2个操作一起做 sed -ri 's/.*swap.*/#&/' /etc/fstab
-
修改为规划中的hostname名;修改hosts文件。三台机器都需要执行
# 查看主机名hostname hostname # CentOS7修改主机名hostname的方法为hostnamectl set-hostname NEW_NAME # 三台机器分别master,node1,node2 hostnamectl set-hostname master # 追加hosts文件,ip为用户自己的电脑的ip。三台机器都需要执行 vim /etc/hosts 192.168.180.130 master 192.168.180.131 node1 192.168.180.129 node2
-
同步时间。三台机器均执行
yum install ntpdate -y ntpdate time7.aliyun.com
-
设置内核,打开转发。三台机器均执行
vim /etc/sysctl.d/k8s.conf net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
2、安装master
-
上传文件,并解压
# 上传文件到/root/k8s 没有就新建文件夹。上传可以直接使用工具 [[email protected] k8s]# ll total 1141760 -rw-r--r--. 1 root root 527 Sep 11 2018 create.token.for.k8s.dashboard -rw-r--r--. 1 root root 123058176 Sep 17 2018 k8s.gcr.io-kubernetes-dashboard-amd64-v1.10.0.tar.gz -rw-r--r--. 1 root root 10819 Sep 14 2018 kube-flannel.yml -rw-r--r--. 1 root root 807703552 Sep 14 2018 master-docker-images.tar.gz -rw-r--r--. 1 root root 145690624 Sep 14 2018 node-docker-images.tar.gz -rw-r--r--. 1 root root 100 Sep 13 2018 NodePort-Kube-Dashboard -rw-r--r--. 1 root root 92678675 Sep 14 2018 NodeRPM.tar.gz # 新建文件夹rpm mkdir rpm # 解压NodeRPM.tar.gz到/root/k8s/rpm tar zxvf NodeRPM.tar.gz -C rpm/
-
安装docker、kubelet等
# 进入rpm文件夹 cd rpm/ # 执行安装命令 --nodeps忽略依赖 rpm -ivh * --force --nodeps
-
设置docker镜像等
#设置docker和kubelet开机启动 systemctl enable docker kubelet #修改kubelet文件中设置KUBELET_EXTRA_ARGS="--fail-swap-on=false"。这里可以设置ipvs(可选) vim /etc/sysconfig/kubelet #docker启动 systemctl start docker #load上传的文件,创建为镜像 cd /root/k8s docker load < master-docker-images.tar.gz
-
启动k8s主节点
#启动k8s kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap #若上面报错 /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1 echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables #启动完成之后,看最后几条日志 #记录一下最后一句,其他node加入集群需要执行这个条命令,主节点不需要 。kubeadm join 192.168.180.130:6443 --token n3099h.d1ddg2lrmkerwqmi --discovery-token-ca-cert-hash sha256:fc1449dc677e6ab9bcd5d09afdfb1944c9ddfdac6d310621e9630d8c9ea07a34 #再往上还有日志,若启动需要执行三个操作 [[email protected] k8s]# mkdir -p $HOME/.kube [[email protected] k8s]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config [[email protected] k8s]# chown $(id -u):$(id -g) $HOME/.kube/config #安装集群网络flannel kubectl apply -f kube-flannel.yml #查看k8s主节点,能看到则主节点成功安装 [[email protected] k8s]# kubectl get node NAME STATUS ROLES AGE VERSION master Ready master 6m v1.11.1
3、安装node节点
切记第一个步骤【环境配置】的所有操作在node上已经都执行了一遍,才能继续在node节点执行一下命令
-
上传文件,并解压
# 上传文件到/root/k8s [[email protected] k8s]# ll total 232788 -rw-r--r--. 1 root root 145690624 Sep 14 2018 node-docker-images.tar.gz -rw-r--r--. 1 root root 92678675 Sep 14 2018 NodeRPM.tar.gz #新建rpm目录,并解压NodeRPM.tar.gz到/root/k8s/rpm [[email protected] k8s]# mkdir rpm [[email protected] k8s]# tar zxvf NodeRPM.tar.gz -C rpm/
-
安装docker、kubelet等
# 进入rpm文件夹 cd rpm/ # 执行安装命令 --nodeps忽略依赖 rpm -ivh * --force --nodeps
-
设置docker镜像等
# 执行安装命令 --nodeps忽略依赖 rpm -ivh * --force --nodeps #设置docker和kubelet开机启动 systemctl enable docker kubelet #修改kubelet文件中设置KUBELET_EXTRA_ARGS="--fail-swap-on=false"。注意有引号。这里可以设置ipvs(可选) vim /etc/sysconfig/kubelet #docker启动 systemctl start docker #load上传的文件,创建为镜像 cd /root/k8s docker load < node-docker-images.tar.gz
-
启动k8s的node节
#启动k8s,并加入主节点的集群中,下面的命令就是安装主节点复制的 kubeadm join 192.168.180.130:6443 --token n3099h.d1ddg2lrmkerwqmi --discovery-token-ca-cert-hash sha256:fc1449dc677e6ab9bcd5d09afdfb1944c9ddfdac6d310621e9630d8c9ea07a34 #去【主节点】执行kubectl get nodes,可以看到node1加入进来了 [[email protected] k8s]# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready master 38m v1.11.1 node1 Ready <none> 20s v1.11.1
-
安装另外一台node
#安装另外一台node也是上面相同的操作 #把命令执行完成之后就可以去【主节点】执行kubectl get nodes,可以看到node2也加入进来了 [[email protected] k8s]# kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready master 44m v1.11.1 node1 Ready <none> 5m v1.11.1 node2 NotReady <none> 4s v1.11.1
至此,k8s集群安装完成了。
除了使用kubeadm安装方式还有MicroK8s等简单方式。
4、后记
以上安装教程完成之后,可以查看Kubernetes(k8s)学习笔记-先导版——一看就会
该笔记均是先导知识较为简单,可以作为入门知识。
【暂完】
【正在去BAT的路上修行!!!】