安装docker

一键安装安装docker(根据提示按回车)

bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

配置主机名

设置每个主机的主机名

hostnamectl set-hostname "k8s-master"
hostnamectl set-hostname "k8s-node1"
hostnamectl set-hostname "k8s-node2"

修改hosts

在hosts最后添加 (三个机器都添加)

nano /etc/hosts
10.10.10.10 k8s-master
10.10.10.11 k8s-node1
10.10.10.12 k8s-node2

禁用 swap

永久关闭
nano /etc/fstab
注释文件里的这行然后重启
#/swap.img      none    swap    sw      0       0
检查是否关闭 若没关闭 重启后再检查
swapoff -a
free -m

注释此行

关闭后显示

加载模块

使用 modprobe 命令加载以下内核模块

modprobe overlay
modprobe br_netfilter

永久加载模块

tee /etc/modules-load.d/k8s.conf <<EOF
overlay
br_netfilter
EOF

加载内核参数

添加像 IP 转发这样的内核参数。创建一个文件,并使用 sysctl 命令加载参数

tee /etc/sysctl.d/kubernetes.conf <<EOT
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOT

加载上述内核参数

sysctl --system

安装配置 Containerd

三台机器都需要安装

根据官方命令安装 官方链接

apt-get install -y apt-transport-https ca-certificates curl gpg

添加 containerd 存储库

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/containerd.gpg
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

这一步按回车

安装 containerd

apt update && sudo apt install containerd.io -y

配置 containerd

导出文件
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
编辑文件
nano /etc/containerd/config.toml

sandbox_image = "registry.k8s.io/pause:3.8" -> sandbox_image = "registry.k8s.io/pause:3.10"
把SystemdCgroup改成true
SystemdCgroup = true

3.8改成3.10

SystemdCgroup改成true

重启containerd 服务

systemctl restart containerd

下载Kubernetes签名密钥

下载 Kubernetes 包存储库的公共签名密钥(我根据官方的最新版本,可以按需设置)

官网地址

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg

添加 Kubernetes 存储库

echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
chmod 644 /etc/apt/sources.list.d/kubernetes.list

安装 Kubernetes 组件

apt update
apt install kubelet kubeadm kubectl -y

初始化Kubernetes

安装 Kubernetes 并配置pod网段(以下都只在主节点运行,除开特别提示需要在子节点上运行之外)

kubeadm init --pod-network-cidr=192.168.0.0/16
主节点运行图片上面的命令
mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
其他两个节点运行图片下面的命令(复制自己的)
kubeadm join k8s-master:6443 --token x6euam.5g6jj4cjaa56vsq6 \
        --discovery-token-ca-cert-hash sha256:bc6de4bb4b0c0340f4a0129c5f7747997a584740becce737286c954708e03e24 

主节点运行

两个子节点运行

验证节点状态

验证 worker 节点的状态(主节点运行)

这个时候状态都是NotReady,还需要安装网络插件

kubectl get nodes -o wide

状态是NotReady

安装 Calico

官网链接

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.30.2/manifests/tigera-operator.yaml
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.30.2/manifests/custom-resources.yaml

watch kubectl get pods -n calico-system

运行完成之后等待全部运行

全部运行完成

所有节点状态都变成Ready就对了

安装kuboard

我这里安装的是最新的V4版本,如果需要安装V3去官网查看安装教程

官网链接

主节点直接运行(里面的数据库地址与用户名密码改成自己的)

docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 8000:80/tcp \
  -e TZ="Asia/Shanghai" \
  -e DB_DRIVER=com.mysql.cj.jdbc.Driver \
  -e DB_URL="jdbc:mysql://10.10.10.7:3306/kuboard?serverTimezone=Asia/Shanghai" \
  -e DB_USERNAME=kuboard \
  -e DB_PASSWORD=Kuboard123 \
  swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4

运行完成

管理员用户为: admin
默认密码为 : Kuboard123

访问页面

点击导入集群

使用Secret Token导入

然后复制下方获取Token框中的命令,然后在主节点运行

Token导入

复制红色字体

apiServer地址改成自己的

等待导入完成