1、关闭防火墙
systemctl stop firewalld
2、关闭selinux
setenforce 0
3、关闭swap
# 临时关闭
swapoff -a
#可以通过这个命令查看swap是否关闭了
free
4、添加主机名与IP对应的关系
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 及一众依赖包
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)初始化之前要关闭swap!
建议至少2 cpu ,2G,非硬性要求,1cpu,1G也可以搭建起集群。但是:
2)1个cpu的话初始化master的时候会报 [WARNING NumCPU]: the number of available CPUs 1 is less than the required 2
3)部署插件或者pod时可能会报warning:FailedScheduling:Insufficient cpu, Insufficient memory
如果出现这种提示,说明你的虚拟机分配的CPU为1核,需要重新设置虚拟机master节点内核数。
4)node节点加入集群要执行的命令,在子节点机器上执行。
查看镜像
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
执行完就可以直接使用kubectl命令了
获取节点
10安装pod网络插件(CNI)
1、安装插件
kubectl apply -f kube-flannel.yml
安装插件
安装插件
11、查看是否部署成功
kubectl get pods -n kube-system
再次查看node,此时已经是ready的状态
kubectl get node
问题记录:
1、pod没起来
pod没起来
原因:
解决方法: