Kubernetes叢集部署

哈哈哈hh發表於2022-06-24

映象下載、域名解析、時間同步請點選  阿里雲開源映象站

一、環境要求

系統版本:CentOS7.x版本

硬體配置:記憶體2GB以上  cpu2核以上  硬碟大於30G

叢集網路配置:叢集中所有伺服器內網必須互通,並且需要訪問外網來拉取映象

禁用swap分割槽

二、k8s基礎環境操作:

1、關閉防火牆:

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

2、關閉selinux:

[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@localhost ~]# getenforce

3、關閉swap分割槽:

臨時關閉:

[root@localhost ~]# swapoff -a

永久關閉:註釋掉/etc/fstab檔案中的swap行

4、進行hosts檔案編輯:

192.168.8.146     k8s-master

192.168.8.141      k8s-node1

192.168.8.129     k8s-node2

5、將橋接的IPv4流量傳遞到iptables的鏈

[root@localhost ~]# cat > /etc/sysctl.d/k8s.conf << EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[root@localhost ~]# sysctl --system

file

6、開啟IP轉發功能

[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

三、安裝docker(三臺機器都操作)

1、解除安裝舊版docker

[root@localhost ~]# yum remove docker docker-common docker-selinux docker-engine

2、安裝一些必要的系統工具

[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

3、配置docker的穩定版本倉庫

yum-config-manager --add-repo 

4、更新安裝包索引

[root@localhost ~]# yum makecache fast

5、安裝docker ce

[root@localhost ~]# yum -y install docker-ce-18.06.1.ce-3.el7

6、開機自啟和啟動docker

[root@localhost ~]# systemctl enable docker && systemctl start docker

7、檢視docker版本

[root@localhost ~]# docker --version

file

8、新增阿里雲YUM軟體源

[root@localhost ~]# vim /etc/yum.repos.d/kubernetes.repo
[Kubernetes]
baseurl=
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=

9、

[root@localhost ~]# yum clean all

10、

[root@localhost ~]# yum makecache

安裝kubeadm,kubelet和kubectl

11、由於版本更新頻繁,這裡指定版本號部署:

[root@localhost ~]# yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
[root@localhost ~]# systemctl enable kubelet

四、部署Kubernetes Master(這個在master主機裡操作):

[root@k8s-master~]#kubeadm init  --apiserver-advertise-address=192.168.8.146 --image-repository registry.aliyuncs.com/google_containers  --kubernetes-version v1.15.0 --service-cidr=10.1.0.0/16  --pod-network-cidr=10.244.0.0/16

注意:192.168.8.146ip是master主機的ip地址

file

五、配置kubectl訪問叢集(三臺機器操作):

1、

[root@localhost ~]# mkdir -p $HOME/.kube

2、

[root@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

3、

[root@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

六、Master安裝flannel(主機master裡操作):

[root@k8s-master~]#kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

1、檢視索引pod

[root@k8s-master ~]# kubectl get pod -n kube-system

2、檢視節點

[root@k8s-master ~]# kubectl get node

七、加入node節點(在兩臺node上做):

1、

[root@k8s-node1 ~]# kubeadm join 192.168.8.146:6443 --token vhykt2.0jjdgdcnclxhts41  --discovery-token-ca-cert-hash sha256:bf42d67996e593a1e5844ba717d97e1249ed85bf86d83322b88c108d2f6a3dc1

file

2、檢視node1節點是否成功(在node1上做)

[root@k8s-node1 ~]# docker ps

file

八、檢視節點資訊(在master操作)

[root@k8s-master ~]# kubectl get node

file

九、部署dashboard(master主機操作)

[root@k8s-master~]#wget 

1、

[root@k8s-master ~]# vim   kubernetes-dashboard.yaml

file

file

2、安裝dashboard

[root@k8s-master ~]# kubectl apply -f kubernetes-dashboard.yaml

3、使用master節點ip地址+埠來訪問,協議是https的

檢視Dashboard埠資訊:

[root@k8s-master ~]# kubectl --namespace=kube-system get service kubernetes-dashboard

file

4、以我自己的伺服器為訪問物件,使用 即可訪問

file

5、Token

[root@k8s-master ~]# kubectl create serviceaccount dashboard-admin -n kube-system
[root@k8s-master~]#kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[root@k8s-master ~]# kubectl  get secret -n kube-system

file

6、檢視token的具體資訊

[root@k8s-master~]# kubectl describe secret dashboard-admin-token-92djb -n kube-system

file

7、把密令輸入在令牌中

file

8、登陸成功的頁面:

file

本文轉自:https://blog.51cto.com/u_15397018/5367484


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2902601/,如需轉載,請註明出處,否則將追究法律責任。

相關文章