美文网首页
k8s 1.23搭建

k8s 1.23搭建

作者: 耗子_aca3 | 来源:发表于2023-06-03 17:23 被阅读0次

基于Ubuntu 22.04.2,kubeadm!!!

  1. 先安排下docker安装
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

# 这两条命令单独弄个shell文件吧~
VERSION_STRING=5:20.10.24~3-0~ubuntu-jammy # 1.23版本的k8s依赖docker最高的版本是20.10,可以用这个命令查看docker版本:apt-cache madison docker-ce | awk '{ print $3 }'
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
  1. 安装前准备工作
sudo vi /etc/hostname # Kubernetes 使用主机名来区分集群里的节点,每个节点的 hostname 必须不能重名

# 修改下docker镜像源,如果没有这问题困扰的跳过此步骤,下面的镜像源换成自己喜欢的就好,直接拷贝没用到。。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 让 Kubernetes 能够检查、转发网络流量,你需要修改 iptables 的配置,启用“br_netfilter”模块
让 Kubernetes 能够检查、转发网络流量,你需要修改 iptables 的配置,启用“br_netfilter”模块
  1. 安装 kubeadm(install-kubeadm.sh)
sudo apt install -y apt-transport-https ca-certificates curl nfs-common

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

sudo apt update
sudo apt install -y kubeadm=1.23.3-00 kubelet=1.23.3-00 kubectl=1.23.3-00
sudo apt-mark hold kubeadm kubelet kubectl

# check
kubeadm version
kubectl version --client
  1. 下载kubenetes组件镜像(download-kubenetes-images.sh)
# use ali registry to speed up
repo=registry.aliyuncs.com/google_containers

for name in `kubeadm config images list --kubernetes-version v1.23.3`;
do
    # remove prefix
    src_name=${name#k8s.gcr.io/}
    src_name=${src_name#coredns/}

    docker pull $repo/$src_name

    # rename to fit k8s
    docker tag $repo/$src_name $name
    docker rmi $repo/$src_name
done

# flannel images
for name in `grep image flannel.yml |grep -v '#image' | sed 's/image://g' -`;
do
    docker pull $name
done

# check
docker image
  1. 安装master节点
# pod-network-cidr改成自己想要的
sudo kubeadm init \
    --pod-network-cidr=10.10.0.0/16 \
    --kubernetes-version=v1.23.3 \
    --v=5
# 输出的这些要记录下来,worker节点加入需要用到:
#  Then you can join any number of worker nodes by running the following on each as root:
# kubeadm join 192.168.0.90:6443 --token qfkdqk.rocu8fgothniynz6 \
#  --discovery-token-ca-cert-hash sha256:249b9759a14b66e27dc060453c44ef2a2dcc70ab33a87da9996075cfa8200d94

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

# check
kubectl version
kubectl get node

# 安装网络插件
wget https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
vim kube-flannel.yml # 修改文件里的“net-conf.json”字段,把 Network 改成刚才 kubeadm 的参数 --pod-network-cidr 设置的地址段

kubectl apply -f kube-flannel.yml
  1. 安装worker节点
sudo kubeadm join 192.168.0.90:6443 --token qfkdqk.rocu8fgothniynz6 \
  --discovery-token-ca-cert-hash sha256:249b9759a14b66e27dc060453c44ef2a2dcc70ab33a87da9996075cfa8200d94

相关文章

网友评论

      本文标题:k8s 1.23搭建

      本文链接:https://www.haomeiwen.com/subject/pprvedtx.html