1.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.关闭selinux
sed ‐i 's/enforcing/disabled/' /etc/selinux/config # 永久关闭
setenforce 0 # 临时关闭
3
、关闭
swap
swapoff ‐a # 临时关闭
vim /etc/fstab # 永久关闭
#
注释掉
swap
这行
# /dev/mapper/centos‐swap swap swap defaults 0 0
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
10.168.0.220 k8s‐master
10.168.0.221 k8s‐node1
10.168.0.222 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=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
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=10.168.0.220 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.18.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
在k8s-master机器上执行如下命令:
#
配置使用
kubectl
命令工具
(
类似
docker
这个命令
)
,执行上图第二个红框里的命令
mkdir ‐p $HOME/.kube
sudo cp ‐i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id ‐u):$(id ‐g) $HOME/.kube/config
#
安装
Pod
网络插件
kubectl apply ‐f https://docs.projectcalico.org/manifests/calico.yaml
# 如果上面这个calico网络插件安装不成功可以试下下面这个
# kubectl apply ‐f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kubeflannel.yml
在所有k8s node机器执行上图红框里的命令
kubeadm join 10.168.0.220:6443 --token y6128m.e4p2stt5y42nnfwy \
--discovery-token-ca-cert-hash sha256:f692f964f77a68bfe85718d7872abbcde7f9175a85095fbe2b7ab6a8d4523c37
#
查看
kubectl
是否能正常使用
kubectl get nodes
状态显示 Ready 表示节点已经就绪