搭建k8s集群,准备三台2核4g的虚拟机(内存至少2g以上),操作系统选择用centos 7以上版本,先在三台机器上装
好docker。
在三台机器上都执行如下命令操作:
1.关闭防火墙
systemctl stop firewalld
2.关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
3.关闭swap
vim /etc/fstab
注释掉swap这一行
systemctl reboot
重启生效
free ‐m #查看下swap交换区是否都为0,如果都为0则swap关闭成功
4.给三台机器分别设置主机名
hostnamectl set‐hostname <hostname>
第一台:k8s-master
第二台:k8s-node1
第三台:k8s-node2
5.在 k8s‐master机器添加hosts,执行如下命令,ip需要修改成你自己机器的ip
cat >> /etc/hosts << EOF
192.168.1.128 k8s-master
192.168.1.129 k8s-node1
192.168.1.130 k8s-node2
EOF
6.将桥接的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 #生效
7.设置时间同步
yum install ntpdate ‐y
ntpdate time.windows.com
8.添加k8s 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=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum‐key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm‐package‐key.gpg
EOF
9.如果之前安装过k8s,先卸载旧版本
yum remove ‐y kubelet kubeadm kubectl
10.查看可以安装的版本
yum list kubelet ‐‐showduplicates | sort ‐r
11.安装kubelet、kubeadm、kubectl 指定版本,我们使用kubeadm方式安装k8s集群
yum install ‐y kubelet‐1.18.0 kubeadm‐1.18.0 kubectl‐1.18.0
12.开机启动kubelet
systemctl enable kubelet
systemctl start kubelet
以上步骤分别在三台机器上执行完毕后,再接着执行下面的步骤:
在k8s-master机器上执行初始化操作(里面的第一个ip地址就是k8s-master机器的ip,改成你自己机器的,后面两
个ip网段不用动)
kubeadm init ‐‐apiserver‐advertise‐address=192.168.1.128 ‐‐image‐repository registry.aliyuncs.c
om/google_containers ‐‐kubernetes‐version v1.18.0 ‐‐service‐cidr=10.96.0.0/12 ‐‐pod‐network‐cidr=1
0.244.0.0/16
执行完结果如下图:
在k8s-master机器上执行如下命令:
mkdir ‐p $HOME/.kube
sudo cp ‐i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id ‐u):$(id ‐g) $HOME/.kube/config
查看kubectl是否能正常使用
kubectl get nodes
安装pod网络插件
下载flannel插件的yml
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
修改kube-flannel.yml中的镜像仓库地址为国内源
sed -i ‘s/quay.io/quay-mirror.qiniu.com/g’ kube-flannel.yml
安装网络插件
kubectl apply -f kube-flannel.yml
在所有k8s node机器执行一下命令:
kubeadm join 192.168.1.128:6443 --token 1dl2hu.pkfpe9bs80lfxraq \
--discovery-token-ca-cert-hash sha256:3e53560754f6862f6314d2aa1a5d07c43dab2e9adba061366fab54d534c0838d
在k8s-master机器执行查看节点命令
kubectl get nodes
刚刚安装的三个k8s节点都已经准备就绪,大功告成!