一、规划
(一)节点规划
192.168.56.105 k8s-master
192.168.56.106 k8s-node1
192.168.56.107 k8s-node2
(二)版本号
Ubuntu:1804
kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00
kube-apiserver:v1.23.6
kube-controller-manager:v1.23.6
kube-scheduler:v1.23.6
kube-proxy:v1.23.6
pause:3.6
etcd:3.5.1-0
coredns:v1.8.6
二、网卡配置
cd /etc/netplan
ls
gedit /etc/netplan/01-network-manager-all.yaml #根据上一步ls获取yaml文件名
ethernets:
ens34: #可能为其他名字,可用ip addr获取
dhcp4: no
#master addresses: [192.168.56.105/24] #根据规划的host确定host ip
#node1 addresses: [192.168.56.106/24]
#node2 addresses: [192.168.56.107/24]
gateway4: 192.168.56.1
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
netplan apply
三、更改hostname
hostnamectl set-hostname k8s-master #根据规划确定hostname
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
gedit /etc/hosts
192.168.56.105 k8s-master
192.168.56.106 k8s-node1
192.168.56.107 k8s-node2
四、安装步骤(阿里、清华、华为均可)
(一)Master节点部署
换源
apt-get update
apt-get upgrade
apt-get install -y curl apt-transport-https
swapoff -a #这是临时关闭方法,重启后需要重新执行,可采用永久关闭方法
apt-get install docker.io
gedit /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl restart docker
cat <<EOF> /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
apt-get update
apt-get upgrade
sudo apt-cache madison kubelet
apt-get -y install kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.23.6
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.23.6
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.23.6
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.23.6
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.1-0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.6
docker images
kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \
--apiserver-advertise-address 192.168.56.105 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all \
--kubernetes-version=1.23.6
(二)Master节点配置
切换为普通用户
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
echo "souce <(kubectl completion bash)" >> ~/.bashrc
6.kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml #配置flannel网络
(三)node节点join
同master,至apt-get -y install kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00
sudo kubeadm join --token jwy00h.keyianwin6u3eh57 192.168.56.105:6443 --discovery-token-unsafe-skip-ca-verification
(四)部署Dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
五、节点重置
kubeadm reset
rm -rf $HOME/.kube
rm -rf /root/.kube rm -rf /etc/cni/net.d
rm -rf /etc/kubernetes/*
ipvsadm -C iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X