常规配置(三台虚拟机均需进行配置)

关闭防火墙

 systemctl disable firewalld
 systemctl stop firewalld

关闭Selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config

禁用swap

sed -ri 's/.*swap.*/#&/' /etc/fstab

配置域名解析

cat >> /etc/hosts <<EOF
192.168.1.91     master
192.168.1.92     node1
192.168.1.93     node2
EOF

将桥接的IPv4流量传递到iptables的链

cat > /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
vm.swappiness = 0
EOF
 modprobe br_netfilter
 lsmod | grep br_netfilter
 sysctl --system

安装docker

配置docker的apt源

## 使用阿里源
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add - #安装GPG证书
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #写入docker-ce软件源信息

## 使用清华源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #安装GPG证书
add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" #写入docker-ce软件源信息

查看docker可用版本

apt-cache madison docker-ce

安装docker

apt-get install docker-ce=20.10.21-0ubuntu1~22.04.3 docker.io=20.10.21-0ubuntu1~22.04.3 

编辑docker配置文件

vim /etc/docker/daemon.json

{ 
  "exec-opts":["native.cgroupdriver=systemd"],
  "registry-mirrors": [ 
    "https://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://gcr.io",
    "https://ueo0uggy.mirror.aliyuncs.com",
    "https://docker.m.daocloud.io",
    "https://cf-workers-docker-io-apl.pages.dev"],
  "experimental": true
}

 重启docker服务

systemctl daemon-reload
systemctl restart docker
安装K8S

配置k8s源仓库

curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
echo 'deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main' >>/etc/apt/sources.list.d/kubernetes.list
apt-get update -y

安装

apt-get install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00
K8S配置(仅在master节点进行)
初始化K8S
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.6 --apiserver-advertise-address master-ip --control-plane-endpoint=master-ip --apiserver-bind-port 6443  --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12

初始化成功后会出现如下所示提示

按提示,首先执行

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

其余节点上执行 join 操作(以master节点初始化完成后的提示为准)

kubeadm join 192.168.121.132:6443 --token xxx \
        --discovery-token-ca-cert-hash xxx

节点成功加入集群

在master节点上执行

kubectl get node

查看集群中的节点

安装网络插件(Flannel或Calico)
wget https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
kubectl apply -f kube-flannel.yml

或 

wget https://docs.projectcalico.org/manifests/calico.yaml
kubectl apply -f calico.yaml

安装后查看集群的node,所有node应为ready状态

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐