借鑒博客地址:
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