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

 

 

 

 

 


 

 

 


 

 

 

   

posted @ 2021-08-24 10:50  芒果~~  阅读(451)  评论(0编辑  收藏  举报