环境说明:
IP |
HOSTNAME |
USER |
Docker version |
kubelet version |
kubeadm version |
kubectl version |
calico version |
dashboard version |
OS |
192.168.100.10 |
master |
deploy |
v20.10.11 |
v1.23.0 |
v1.23.0 |
v1.23.0 |
v3.21.2 |
v2.4.0 |
Ubuntu 20.04.3 server |
192.168.100.100 |
node-01 |
deploy |
v20.10.11 |
v1.23.0 |
v1.23.0 |
v0 |
v0 |
v0 |
Ubuntu 20.04.3 server |
192.168.100.101 |
node-02 |
deploy |
v20.10.11 |
v1.23.0 |
v1.23.0 |
v0 |
v0 |
v0 |
Ubuntu 20.04.3 server |
一、系统初始化配置
1、Xshell远程【所有节点】
sudo grep -E "^\s*KexAlgorithms" /etc/ssh/sshd_config || sudo sed -i -r '$aKexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1' /etc/ssh/sshd_config
sudo systemctl restart sshd
2、软件更新【所有节点】
sudo apt-get update && sudo apt-get upgrade -y
3、SElinux 禁用【所有节点】
sudo apt-get install -y selinux-basics selinux-utils
sudo sed -i '/^[ \t]*SELINUX=/c\SELINUX=disabled' /etc/selinux/config
setenforce 0
getenforce
4、ufW 防火墙禁用【所有节点】
sudo ufw disable
sudo ufw status
5、Swap 禁用【所有节点】
sudo swapoff -a
sudo sed -ri 's/.*swap.*/#&/' /etc/fstab
free -m
6、时间同步【所有节点】【所有节点】
sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-ntp yes
date
7、添加HOSTS文件【所有节点】
cat > host.txt <<END
192.168.100.100 master harbor.io
192.168.100.101 node-01
192.168.100.102 node-02
END
cat host.txt | while read hosts_info; do
HOSTS_info=$(echo ${
hosts_info})
sudo grep -E "${HOSTS_info}" /etc/hosts || sudo sed -i "/127.0.0.1/i ${HOSTS_info}" /etc/hosts
done
rm -rf host.txt
sudo sed -i "/^127.0.1.1/c\127.0.1.1 ${
HOSTNAME}" /etc/hosts
8、修改主机命【所有节点】
sudo hostnamectl set-hostname k8s-master
bash
9、开启IPV4流量转发【所有节点】
sudo tee /etc/sysctl.d/k8s.conf <<-'EOF'
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
二、部署 Docker 服务
1、安装 Docker 服务【所有节点】
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"
sudo apt-get update
sudo apt-cache madison docker-ce
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
sudo systemctl enable docker
sudo systemctl start docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {"max-size": "100m"},
"registry-mirrors": [
"https://b9pmyelo.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker info
sudo docker info |grep "Cgroup Driver"
sudo gpasswd -a ${
USER} docker
newgrp docker
docker images
2、部署私有仓库harbor
sudo mkdir -p /opt/harbor/{
bin,data,log}
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
sudo tar xvf harbor-offline-installer-v2.4.1.tgz -C /opt/harbor/bin --strip-components=1 && cd /opt/harbor/bin
sudo cp harbor.yml.tmpl harbor.yml
sudo sed -i '/^[ \t]*hostname:/c\hostname: harbor.io' harbor.yml
sudo sed -i '/^https:/,+5 s/^/#/' harbor.yml
sudo sed -i '/^[ \t]*data_volume:/c\data_volume: /opt/harbor/data' harbor.yml
harbor_admin_password: Harbor12345
sudo sed -i '/^[ \t]*location:/c\location: /opt/harbor/log' harbor.yml
sudo apt -y install docker-compose
sudo bash install.sh
三、安装 Kubernetes 服务【master节点】
1、安装 Kubernetes 服务