• Ubuntu 20.04 LTS 安装Kubernetes 1.26


    1、环境配置

    (1)添加主机名称解析记录

    1. cat > /etc/hosts << EOF
    2. 192.168.44.200 master01 master01.bypass.cn
    3. 192.168.44.201 node01 node01.bypass.cn
    4. 192.168.44.202 node02 node02.bypass.cn
    5. EOF

    (2)禁止K8s使用虚拟内存

    1. swapoff -a
    2. sed -ri 's@(.*swap.*)@#\1@g' /etc/fstab

    (3)开启内核ipv4转发

    1. modprobe br_netfilter
    2. cat > /etc/sysctl.d/k8s.conf << EOF
    3. net.bridge.bridge-nf-call-ip6tables = 1
    4. net.bridge.bridge-nf-call-iptables = 1
    5. net.ipv4.ip_forward=1
    6. vm.swappiness=0
    7. EOF
    8. sysctl -p /etc/sysctl.d/k8s.conf

    (4) 安装ipvsadm,加载ipvs模块

    apt-get install ipset ipvsadm -y
    

    cat > /etc/modules-load.d/ipvs.conf << EOF
    ip_vs
    ip_vs_rr
    ip_vs_wrr
    ip_vs_sh
    nf_conntrack
    EOF

    加载模块,并进行检查

    modprobe --all ip_vs ip_vs_rr ip_vs_wrr  ip_vs_sh  nf_conntrack

    lsmod|grep -e ip_vs -e nf_conntrack

     (5)时间同步

    1. apt-get install chrony -y
    2. systemctl start chrony
    3. systemctl enable chrony
    4. timedatectl set-timezone Asia/Shanghai
    5. chronyc sources

    2、部署集群 

    (1)安装Containerd

    1. wget http://file.oldxu.net/cri-containerd-1.6.18-linux-amd64.tar.gz
    2. tar xf cri-containerd-1.6.18-linux-amd64.tar.gz -C /
    3. systemctl daemon-reload
    4. systemctl start containerd
    5. systemctl enable containerd
    1. ctr version
    2. mkdir -p /etc/containerd
    3. containerd config default > /etc/containerd/config.toml
    vi /etc/containerd/config.toml
    
     
     

     修改内容

    1. [plugins."io.containerd.grpc.v1.cri"]
    2. sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"
    3. [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
    4. SystemdCgroup = true
    5. [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
    6. [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
    7. endpoint = ["https://kd88kykb.mirror.aliyuncs.com"]

    测试

    ctr image pull dokcer.io/library/nginx:1.20

    (2)安装nerdctl

    1. wget http://file.oldxu.net/nerdctl-1.2.1-linux-amd64.tar.gz
    2. tar xf nerdctl-1.2.1-linux-amd64.tar.gz
    3. mv nerdctl /usr/bin/
    4. #ln -s /usr/bin/docker /usr/bin/nerdctl
    5. #docker images
    6. echo 'source <(nerdctl completion bash)' >> /etc/profile
    7. source /etc/profile
    8. nerdctl pull nginx:1.18
    9. nerdctl images

    (3)安装集群工具

    1. curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
    2. cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    3. deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
    4. EOF
    5. apt update && apt-get install -y kubeadm=1.26.0-00 kubelet=1.26.0-00 kubectl=1.26.0-00
    6. #下载容器镜像
    7. kubeadm config images list --kubernetes-version v1.26.0
    8. kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.26.0

    (4)初始化Master节点

    1. kubeadm init \
    2. --apiserver-advertise-address=192.168.44.200 \
    3. --control-plane-endpoint="master01.bypass.cn" \
    4. --image-repository=registry.aliyuncs.com/google_containers \
    5. --kubernetes-version=v1.26.0 \
    6. --service-cidr=10.96.0.0/12 \
    7. --pod-network-cidr=10.244.0.0/16 \
    8. --cri-socket=/run/containerd/containerd.sock

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

    (5) 初始化node节点

    kubeadm join master01.bypass.cn:6443 --token ai9eru.bueon1ib9bhlf5rz \
    --discovery-token-ca-cert-hash sha256:50c21633205d2d47d1c4e496a422e2c56018a5bc03d62849ff5c5ceb8456407f

    (6)安装Calico网络插件

    https://docs.projectcalico.org/manifests/calico.yaml
    1. vi calico.yaml # - name: CALICO_IPV4POOL_CIDR # value: "10.244.0.0/16"
    2. kubectl apply -f calico.yaml
  • 相关阅读:
    二十六、【颜色调整】
    Java中enum的使用
    Spring Boot发布2.6.2、2.5.8:升级log4j2到2.17.0
    资深8年测试整理,接口测试必备-加密与签名,让你不再走弯路...
    【Harmony OS】【ARK UI】【Demo】加载动画实现
    【微机原理及接口技术】中断系统
    中国城市中心点坐标
    mysql日期加一天
    获取Visual Studio所用MSVC编译器版本:_MSC_VER数值
    MQTT移植ARM开发
  • 原文地址:https://blog.csdn.net/qq_23936389/article/details/132645127