一.准备工作(三台机器都执行)
1.执行脚本:sh prep.sh
脚本内容:
#!/bin/bash
# Copyright 2021 HanMei
#
# SYNOPSIS
# preinstall_ubuntu_huaweicloud_v21.sh
#
# DESCRIPTION
# This script is used to grade your Simulation Test
# CHANGELOG
# * Han Mei <108357120@qq.com>
# - build release
cat <<EOF >> /etc/hosts
192.168.248.10 k8s-master
192.168.248.11 k8s-node1
192.168.248.12 k8s-node2
EOF
ufw disable
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
modprobe br_netfilter
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
sudo apt-get update -y
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" -y
sudo apt-get -y update
sudo apt-get -y install docker-ce
sed -i '18c ExecStartPost=/sbin/iptables -P FORWARD ACCEPT' /lib/systemd/system/docker.service
cat <<EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload && systemctl restart docker.service
systemctl enable docker
dpkg -i cri-dockerd_0.3.1.3-0.ubuntu-jammy_amd64.deb
sed -i '10c ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image registry.aliyuncs.com/google_containers/pause' /usr/lib/systemd/system/cri-docker.service
systemctl daemon-reload && systemctl restart cri-docker
systemctl enable cri-docker
2.安装 kubeadm、kubelet 和 kubectl(三台机器都执行)
kubernetes镜像_kubernetes下载地址_kubernetes安装教程-阿里巴巴开源镜像站
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get updateapt-get install -y kubelet=1.27.0-00 kubeadm=1.27.0-00 kubectl=1.27.0-00
sudo apt-mark hold kubelet kubeadm kubectl检查
kubeadm version
二.初始化master节点(只能在master上执行)
1.生成配置文件
kubeadm config print init-defaults > init.yaml
vim init.yaml
kubeadm init --config init.yaml | tee k8s.txt
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
2.安装calico
Kubernetes | Calico Documentation
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/tigera-operator.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/custom-resources.yaml
三.将worker节点加入到集群中
cat k8s.txt
kubeadm join 192.168.248.10:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:15b50b3de58782fbb6b34e1f16ed32f50d22408130864ab020f6137b2b5476f5
--cri-socket=unix:///var/run/cri-dockerd.sock