一、在三台机器上准备一下操作
1、准备三台机器
192.168.137.23 k8s-master
192.168.137.24 k8s-node1
192.168.137.25 k8s-node2
这三台可以是物理机器或则虚拟机都可以
2 关闭swap
#临时关闭
swapoff -a
#永久关闭
sed -i 's/.*swap.*/#&/' /etc/fstab
3、禁用SELINUX
#临时关闭
setenforce 0
#永久关闭
sudo sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
4、关闭防火墙
irewalld会影响Docker的网络功能,需要在安装部署前将其禁用掉。
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
5、添加主机名与IP的对应关系
vim /etc/hosts
追加如下内容
192.168.137.23 k8s-master
192.168.137.24 k8s-node1
192.168.137.25 k8s-node2
7、调整时区
#设置系统时区为 中国/上海
sudo timedatectl set-timezone Asia/Shanghai
#安装ntp:
yum -y install ntp
# 如果找不到ntp源,则需要配置一下
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
#同步时间
ntpdate 0.asia.pool.ntp.org
二、安装相关组件
1、安装docker和 kubeadm 相关组件
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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
setenforce 0
yum install -y kubelet kubeadm kubectl docker-ce
systemctl enable kubelet && systemctl start kubelet
三、机群启动
1、初始化集群,只需要在主节点上执行即可
注意:在这以步骤执行之前 前两项的工作都需要在三台机器上执行
sudo kubeadm init --kubernetes-version=1.18.1 \
--apiserver-advertise-address=192.168.137.11 \
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=Swap
2、两个节点加入主节点
kubeadm join 192.168.137.23:6443 --token 423r8n.r7lhusczxj2qyce9 --discovery-token-ca-cert-hash sha256:e749d7a691eaf585f0cae60b751f51bccaf4824be50a1b37fafc95ebcb5e238e
四、集群验证方式
查看空间
kubectl get namespaces
[root@data23 ~]# kubectl get namespaces
NAME STATUS AGE
default Active 30m
kube-node-lease Active 30m
kube-public Active 30m
kube-system Active 30m
查看节点
kubectl get nodes
[root@data23 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
data23 NotReady master 30m v1.18.1
data24 NotReady <none> 18m v1.18.1
data25 NotReady <none> 17m v1.18.1
查看集群信息
kubectl cluster-info
[root@data23 ~]# kubectl cluster-info
Kubernetes master is running at https://192.168.137.23:6443
KubeDNS is running at https://192.168.137.23:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

