鯤鵬CentOS服務器上快速搭建K8S集群
kubeadm是官方社區推出的一個用于快速部署kubernetes集群的工具。
這個工具能通過兩條指令完成一個kubernetes集群的部署:
# 創建一個 Master 節點
$ kubeadm init
# 將一個 Node 節點加入到當前集群中
$ kubeadm join
1、? 安裝準備
本文以云服務器KC1實例搭建,云服務器配置如表1-1所示。
表1-1?云服務器配置
項目
說明
規格
kc1.large.2 | 2vCPUs | 4GB
磁盤
系統盤:高IO(40GB)
操作系統要求如表1-2所示。
表1-2?操作系統要求
項目
說明
-
CentOS
7.6
在公共鏡像中已提供。
Kernel
4.14.0-115
在公共鏡像中已提供。
購買的服務器如表1-3所示。
環境準備。
節點
彈性公網IP
私有IP地址
master
xxx.xxx.xxx.xxx
192.168.0.2
Node1
xxx.xxx.xxx.xxx
192.168.0.125
2、? 環境準備
1)?? 關閉防火墻
#systemctl stop firewalld
#systemctl disable firewalld
2)?? 關閉selinux
#sed -i 's/enforcing/disabled/' /etc/selinux/config
# setenforce 0
3)?? 臨時關閉swap
#swapoff -a
4)?? 設置主機名
master:
#vi /etc/sysconfig/network
HOSTNAME=master
#vim /etc/hosts
192.168.0.2 master
192.168.0.125 node1
node1:
vi /etc/sysconfig/network
HOSTNAME=node1
vim /etc/hosts
192.168.0.2 master
192.168.0.125 node1
5)?? 將橋接的IPv4流量傳遞到iptables的鏈
#cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
3、? 安裝docker。
執行如下命令。
#yum install docker -y
#systemctl enable docker && systemctl start docker
#docker --version
4、? 添加YUM軟件源
# cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
5、? 安裝kubeadm,kubelet和kubectl
# yum install -y kubelet-1.14.0 kubeadm-1.14.0 kubectl-1.14.0
# systemctl enable kubelet
安裝kubelet 后會在/etc下生成文件目錄/etc/kubernetes/manifests/
6、? Master節點部署
在Master機器上執行如下(如果已經執行過,想重新執行,可通過輸入命令kubeadm reset重置后再執行如下命令):
kubeadm init \
--apiserver-advertise-address=192.168.0.2 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.14.0 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
出現如下信息表示執行成功。
kubeadm 以后將會在 /etc 路徑下生成配置文件和證書文件
tree /etc/kubernetes
7、? 使用kubectl工具,執行配置文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
看到master狀態是NotReady,它在等待網絡的加入
8、? 安裝Pod網絡插件(CNI)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
加入網絡后再次查詢nodes,看到master狀態是Ready,表明網絡的加入成功
9、? 加入Kubernetes Node
向集群添加新節點,執行在kubeadm init輸出的kubeadm join命令:這個在master init初始化時會有提示,更換為自己的IP和token。
在node節點上輸入如下命令。
kubeadm join 192.168.0.2:6443 --token am3871.951phu0szg19o1te --discovery-token-ca-cert-hash sha256:11b8d9e9f35ccc083856527183065c9841985d7825420b20c4954d0bec226de4
返回如下,說明成功。
10、????????????? 查看node1加入狀態
在master節點輸入如下命令進行查看
kubectl get nodes
返回如下,說明加入成功。
Docker 容器
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。