Centos7 安装K8S 小记
借鉴博客地址:
https://blog.csdn.net/qq_35904833/article/details/78190257 #有详细的配置介绍
https://www.cnblogs.com/spll/p/10033316.html
历时半个月,安装K8s从入门到放弃~~
参考各类博客总能发现新大陆,见识到各种报错。千挑万选中终于找到了一个靠谱的博客也成功的把K8S给安装上了,so,必须来一个详细的文档~~~
K8S小白一枚,强大的功能有待探索,先将安装的笔记奉上,走起!!
1.安装准备
[root@k8s-matser]~# uname -a
Linux k8s-matser 4.4.245-1.el7.elrepo.x86_64 #1 SMP Fri Nov 20 09:39:52 EST 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@k8s-matser]~# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
关于内存:
百度了一番大多数都是说需要2G及以上,为了安装顺利我给了>2G的内存。
关闭防火墙和selinux:
[root@k8s-matser]~# systemctl stop firewalld
[root@k8s-matser]~# systemctl disable firewalld
[root@k8s-matser]~# setenforce 0
安装epel-release源:
[root@k8s-matser]~# yum -y install epel-release
小结:准备工作是主,从节点都需要做的。笔记里面就只示范了master节点,在此就不赘述了。
此外,环境也是很重要,估计不少人也和我一样重复安装,卸载的操作导致环境不纯净这也会影响到服务是否能安装成功。
2.master节点的操作:
[root@k8s-matser]~# yum -y install etcd kubernetes-master #执行此命令会将master节点所需的服务都安装上
[root@k8s-matser]~# vim /etc/etcd/etcd.conf #红色字体行按照图片内容修改即可
[root@k8s-matser]~# vim /etc/kubernetes/apiserver
注意:
KUBE_API_PORT="--port=8080" #默认端口,检查8080端口是否被占用
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
#这一行的配置中删除了一个参数,原位置时倒数第二个
两个配置文件修改完成后启动服务并加入开机自启:
[root@k8s-matser]~#systemctl start etcd
[root@k8s-matser]~#systemctl start kube-apiserver.service
[root@k8s-matser]~#systemctl start kube-controller-manager.service
[root@k8s-matser]~#systemctl start kube-scheduler.service
[root@k8s-matser]~#systemctl enable etcd
[root@k8s-matser]~#systemctl enable kube-apiserver.service
[root@k8s-matser]~#systemctl enable kube-controller-manager.service
[root@k8s-matser]~#systemctl enable kube-scheduler.service
简单写法:
[root@k8s-matser]~# for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl start $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done
在etcd中定义flannel网络:
[root@k8s-matser]~# etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
#执行此命令时有报错检查服务是否都启动成功
3.node节点的操作【node节点上都要操作】
[root@k8s-node-1]~# yum -y install flannel kubernetes-node #安装node节点需要的服务
[root@k8s-node-1]# vim /etc/sysconfig/flanneld
[root@k8s-node-1]# vim /etc/kubernetes/config
[root@k8s-node-1]# vim /etc/kubernetes/kubelet
启动服务及加入开机自启:
[root@k8s-node-1]~# systemctl start kube-proxy
[root@k8s-node-1]~# systemctl start kubelet
[root@k8s-node-1]~# systemctl start docker
[root@k8s-node-1]~# systemctl start flanneld
[root@k8s-node-1]~# systemctl enable kube-proxy
[root@k8s-node-1]~# systemctl enable kubelet
[root@k8s-node-1]~# systemctl enable docker
[root@k8s-node-1]~# systemctl enable flanneld
简单方法:
[root@k8s-node-1]~# for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done
至此,K8S的master节点和node节点都安装好了。
最后,主节点获取从节点的信息。获取到即表示K8S安装成功。
[root@k8s-matser]~# kubectl get nodes