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 # 永久
4、主机名
hostnamectl set-hostname <hostname>
5、在 master 添加 hosts:
vim /etc/hosts
6、将桥接的 IPv4 流量传递到 iptables 的链 --- 未操作
7、时间同步
yum install ntpdate -y
ntpdate time.windows.com
8、所有节点安装 Docker/kubeadm/kubelet
安装docker
yum -y install gcc
yum -y install gcc-c++
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl enable docker && systemctl start docker
vim /etc/docker/daemon.json
{"registry-mirrors": ["https://f80y183g.mirror.aliyuncs.com"]}
systemctl daemon-reload && systemctl restart docker
安装 kubeadm,kubelet 和 kubectl
vim /etc/yum.repos.d/kubernetes.repo
[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
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet
9、部署k8s master
①在master机器上执行:
kubeadm init \
--apiserver-advertise-address=192.168.56.104 \
--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 \
--ignore-preflight-errors=NumCPU \
--ignore-preflight-errors=Mem
②使用kubectl工具:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
10、安装Pod网络插件(CNI)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
11、查看所有pod
kubectl get pod -n kube-system
12、加入k8s Node
在master上执行:kubeadm token list 查看token参数
在master上执行(生成公钥discovery-token-ca-cert-hash sha256):
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
在node上执行:
kubeadm join --token=13u1di.cb1ls476im7ydmy2 192.168.56.104:6443 --discovery-token-ca-cert-hash sha256:070fa29db3d77b729640a9308b9393897e930c705dc9f7081260c5b769afccdd
13、查看
kubectl get node #查看节点
kubectl get svc --all-namespaces #查看服务
14、安装dashboard
参见帖子:https://blog.youkuaiyun.com/mshxuyi/article/details/108425487