192.168.56.11 master
192.168.56.12 node01
192.168.56.13 node02
192.168.56.14 node03
192.168.56.15 node04
[root@master ~]# hostnamectl set-hostname master或者node1
[root@master ~]# more /etc/hostname
[root@master ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@master ~]# firewall-cmd --state //查看当前防火墙状态
[root@master ~]# systemctl stop firewalld //临时关闭防火墙
[root@master ~]# vim /etc/selinux/config
[root@master ~]# swapoff -a
[root@master ~]# free -m
[root@master ~]# vim /etc/fstab
# 注释此行脚本
# /dev/mapper/centos-swap swap swap defaults 0 0
[root@master ~]# free -m
[root@master ~]# vim /etc/hosts
添加如下内容:
192.168.56.11 master
192.168.56.12 node01
192.168.56.13 node02
192.168.56.14 node03
192.168.56.15 node04
[root@master ~]# $ cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
$ sysctl --system
[root@master ~]# sysctl -p /etc/sysctl.d/k8s.conf
[root@master ~]# sysctl net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-iptables = 1
[root@master ~]# sysctl net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-ip6tables = 1
[root@master ~]# 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
[root@master ~]# yum clean all
[root@master ~]# yum makecache
[root@master ~]# yum -y install lrzsz
[root@master ~]# yum list kubelet --showduplicates | sort -r
[root@master ~]# yum install -y kubelet-1.18.2 kubeadm-1.18.2 kubectl-1.18.2
[root@master ~]# systemctl enable kubelet && systemctl start kubelet
[root@master ~]# touch image.sh
[root@master ~]# vim image.sh
#!/bin/bash
url=registry.cn-hangzhou.aliyuncs.com/google_containers
version=v1.18.2
images=(`kubeadm config images list --kubernetes-version=$version|awk -F ‘/‘ ‘{print $2}‘`)
for imagename in ${images[@]} ; do
docker pull $url/$imagename
docker tag $url/$imagename k8s.gcr.io/$imagename
docker rmi -f $url/$imagename
done
[root@master ~]# chmod u+x image.sh
[root@master ~]# more image.sh
[root@master ~]# ./image.sh
[root@master ~]# docker images
[root@master ~]# kubeadm init --apiserver-advertise-address 192.168.56.11 --pod-network-cidr=10.244.0.0/16
kubeadm join 192.168.56.11:6443 --token pe9tlb.kuoifhlthdi0t0iq --discovery-token-ca-cert-hash sha256:eb4e4530d44b333ba8428dc26dda8ab9c87d8eec196d75480e202834065f14cd
[root@master ~]# echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
[root@master ~]# source .bash_profile
[root@master ~]# mkdir -p $HOME/.kube
[root@master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master ~]# chown $(id -u):$(id -g) $HOME/.kube/config
[root@master ~]# kubectl get node
[root@master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
[root@master ~]# kubectl get pods -n kube-system
[root@master ~]# kubectl get node
[root@master ~]# kubeadm token list
[root@master ~]# kubeadm token create
1zl3he.fxgz2pvxa3qkwxln
原文:https://www.cnblogs.com/lenovo_tiger_love/p/12895643.html