• ubantu安装k8s集群服务


    进行主机优化配置

    参考:

    修改主机名称

    hostnamectl set-hostname k8s-node03

     关闭swap分区

    1. swapoff -a #临时关闭
    2. sed -i '/\/swap/s/^/#' /etc/fstab #永久关闭

    增加主机解析

    1. cat >> /etc/hosts << EOF
    2. 10.1.60.119 k8s-master01
    3. 10.1.60.120 k8s-master02
    4. 10.1.60.121 k8s-master03
    5. 10.1.60.122 k8s-node01
    6. 10.1.60.123 k8s-node02
    7. 10.1.60.130 k8s-node03
    8. EOF

    配置内核转发和网桥过滤

    1. cat > /etc/modules-load.d/k8s.conf <<EOF
    2. overlay
    3. br_netfilter
    4. EOF

    加载配置

    sudo modprobe overlay && sudo modprobe br_netfilter

    查看配置

    lsmod |grep -e overlay -e br_netfilter

     将桥接的IPv4流量传递到iptables

    1. cat > /etc/sysctl.d/k8s.conf << EOF
    2. net.bridge.bridge-nf-call-ip6tables = 1
    3. net.bridge.bridge-nf-call-iptables = 1
    4. net.ipv4.ip_forward = 1
    5. EOF

    加载配置

     sysctl --system

    安装ipvs服务

    apt install -y ipset ipvsadm

    配置ipvs

    1. cat > /etc/modules-load.d/ipvs.conf <<EOF
    2. #!/bin/bash
    3. modprobe -- ip_vs
    4. modprobe -- ip_vs_rr
    5. modprobe -- ip_vs_wrr
    6. modprobe -- ip_vs_sh
    7. modprobe -- nf_conntrack_ipv4
    8. EOF

    授权并生效ipvs配置

    chmod 755 /etc/modules-load.d/ipvs.conf && bash /etc/modules-load.d/ipvs.conf

    查看模块是否生效

     lsmod | grep -e ip_vs -e nf_conntrack

     

    安装docker或container服务

    因为1.26版本kubelet已经不再内置cri-docker,所以使用docker服务需要额外安装cri-docker服务,若使用container服务则不用额外安装,这里选择一个使用即可

    选用container

    下载container安装包

    1. wget https://github.com/containerd/containerd/releases/download/v1.7.19/cri-containerd-1.7.19-linux-amd64.tar.gz

     解压

    1. tar xf cri-containerd-1.7.19-linux-amd64.tar.gz -C /
    2. which containerd

     

    生成配置文件

    1. mkdir /etc/containerd
    2. containerd config default > /etc/containerd/config.toml

     编辑配置文件

    vim /etc/containerd/config.toml

    1. 67 sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9" #更改为阿里云镜像地址
    2. 139 SystemdCgroup = true #开启cgroup
    3. 162 config_path = "etc/containerd/certs.d" #配置镜像加速

     

    编辑镜像加速配置文件

    1. mkdir -p /etc/containerd/certs.d/docker.io
    2. cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOF
    3. server = "https://docker.io"
    4. [host."https://sudzwtcw.mirror.aliyuncs.com"]
    5. capabilities = ["pull", "resolve"]
    6. EOF

     配置开机自启并启动containerd服务

    systemctl enable --now containerd

    选用docker

    下载阿里云源密钥

    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker-archive-keyring.gpg
    

    添加docker官方仓库

    echo "deb [arch=amd64 signed-by=/ect/apt/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

    安装docker-ce

    apt update && apt install -y docker-ce

    配置开机自启并启动

    1. systemctl enable --now docker
    2. docker -v

     安装cri-docker(kubelet不内置docker的cri需要额外安装

    wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.13/cri-dockerd_0.3.13.3-0.ubuntu-jammy_amd64.deb

    选择自己系统对应的版本,我这里是ubantu 22.04所以用的jammy的包

    部署cri-docker

    dpkg -i cri-dockerd_0.3.12.3-0.ubuntu-jammy_amd64.deb

    配置cri-docker服务依赖镜像地址

    vi /usr/lib/systemd/system/cri-docker.service

    1. 注释以下配置项
    2. #ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd://
    3. 新增以下配置项
    4. ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9

     加载配置项服务,并配置cri-docker开机自启

    1. systemctl daemon-reload
    2. systemctl enable --now cri-docker

    以上containerd和docker选用一个安装完成后,安装k8s服务

    下载阿里云源密钥

    curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.26/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

    添加kubernetes apt仓库

    echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.26/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list

    更新仓库并查看软件列表

    apt update && apt-cache policy kubeadm

     安装指定版本的服务

    apt -y install kubelet=1.26.0-2.1 kubeadm=1.26.0-2.1 kubectl=1.26.0-2.1

    编辑kubelet配置

    vi /etc/sysconfig/kubelet 

    KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"

     配置开机自启

    systemctl enable kubelet

    可以锁定版本,防止自动更新

    1. apt-mark hold kubelet kubeadm kubectl
    2. #解锁执行以下命令
    3. apt-mark unhold kubelet kubeadm kubectl

    其余的就是创建集群和加入集群的操作

  • 相关阅读:
    HTML开篇之安装VSvode(用记事本编辑HTML)
    数据结构:线性表(栈的实现)
    说一下 ArrayList 和 LinkedList 的区别?
    RabbitMQ的幂等性、优先级队列和惰性队列
    【数学建模竞赛】超详细Matlab二维三维图形绘制
    基本的SELECT语句
    c++基础:指针
    Redis内存回收
    [重庆思庄每日技术分享]-oracle EM13.4 安装失败之后的处理
    【算法】希尔 (Shell) 排序 详解
  • 原文地址:https://blog.csdn.net/ApexPredator/article/details/140215588