1貌亭、關(guān)閉防火墻
systemctl stop firewalld
2贮聂、關(guān)閉selinux
setenforce 0
3靠柑、關(guān)閉swap
# 臨時(shí)關(guān)閉
swapoff -a
#可以通過(guò)這個(gè)命令查看swap是否關(guān)閉了
free
4、添加主機(jī)名與IP對(duì)應(yīng)的關(guān)系
vi /etc/hosts
0.0.0.0 k8s-master
1.1.1.1 k8s-node1
2.2.2.2 k8s-node2
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
sysctl --system
6歼冰、安裝Docker
1、安裝Docker
yum install -y docker
systemctl enable docker
2耻警、load本地鏡像
docker load -i 本地鏡像
7隔嫡、添加阿里云yum軟件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
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
8、安裝kubelet kubeadm kubectl 及一眾依賴(lài)包
yum install -y kubelet kubeadm kubectl
PS:如果提示xxx.rpm的公鑰未安裝甘穿,則使用如下命令安裝
yum install -y xxx --nogpgcheck
systemctl enable kubelet
9腮恩、部署kubernetes Master
1、初始化kubeadm
kubeadm init \
--apiserver-advertise-address=172.16.42.1 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.20.0 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
PS:
1)初始化之前要關(guān)閉swap温兼!
建議至少2 cpu ,2G秸滴,非硬性要求,1cpu募判,1G也可以搭建起集群荡含。但是:
2)1個(gè)cpu的話(huà)初始化master的時(shí)候會(huì)報(bào) [WARNING NumCPU]: the number of available CPUs 1 is less than the required 2
3)部署插件或者pod時(shí)可能會(huì)報(bào)warning:FailedScheduling:Insufficient cpu, Insufficient memory
如果出現(xiàn)這種提示,說(shuō)明你的虛擬機(jī)分配的CPU為1核届垫,需要重新設(shè)置虛擬機(jī)master節(jié)點(diǎn)內(nèi)核數(shù)释液。
4)node節(jié)點(diǎn)加入集群要執(zhí)行的命令,在子節(jié)點(diǎn)機(jī)器上執(zhí)行装处。
查看鏡像
docker images
2误债、使用kubectl工具
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
執(zhí)行完就可以直接使用kubectl命令了
10安裝pod網(wǎng)絡(luò)插件(CNI)
1、安裝插件
kubectl apply -f kube-flannel.yml
11妄迁、查看是否部署成功
kubectl get pods -n kube-system
再次查看node找前,此時(shí)已經(jīng)是ready的狀態(tài)
kubectl get node
問(wèn)題記錄:
1、pod沒(méi)起來(lái)
原因:
解決方法: