• k8s集群安装-软件环境


    禁止Swap分区

    sed -i '/swap/s/^/#/' /etc/fstab
    swapoff -a
    
    • 1
    • 2

    关闭防火墙

    systemctl stop firewalld
    systemctl disable firewalld
    
    • 1
    • 2

    关闭selinux

    sed -i 's/enforcing/disabled/' /etc/selinux/config
    setenforce 0
    
    • 1
    • 2

    单用户可以打开的最大文件数量,可以设置为官方推荐的65536或更大些

    echo "* - nofile 655360" >> /etc/security/limits.conf
    
    • 1

    单用户线程数调大

    echo "* - nproc 131072" >> /etc/security/limits.conf
    
    • 1

    单进程可以使用的最大map内存区域数量

    echo "vm.max_map_count = 655360" >> /etc/sysctl.conf
    
    • 1

    参数修改立即生效

    sysctl -p
    
    • 1

    查看主机名

    hostname
    
    • 1

    如果主机名不正确,修改主机名

    hostnamectl set-hostname node1
    hostnamectl set-hostname node2
    hostnamectl set-hostname node3
    hostnamectl set-hostname node4
    hostnamectl set-hostname node5
    hostnamectl set-hostname node6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    如果以前配置的/etc/hosts,不符合要求,清理

    sed -i '/172/d' /etc/hosts
    
    • 1

    配置/etc/host

    echo '
    172.16.108.24 node1
    172.16.108.25 node2
    172.16.108.26 node3
    172.16.108.27 node4
    172.16.108.28 node5
    172.16.108.29 node6
    '>>/etc/hosts
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
    overlay
    br_netfilter
    EOF
    
    sudo modprobe overlay
    sudo modprobe br_netfilter
    
    # sysctl params required by setup, params persist across reboots
    cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-iptables  = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward                 = 1
    EOF
    
    # Apply sysctl params without reboot
    sudo sysctl --system
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    应用规则

    sysctl --system
    
    • 1

    date 时间同步

    安装docker,参考
    https://blog.csdn.net/jiakai82/article/details/117811004

    配置镜像加速、非必需

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://ke9h1pt4.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    安装kubeadm,kubelet和kubectl

    yum list|grep kube
    
    • 1

    所有机器上安装kubelet kubeadm kubectl,参考https://developer.aliyun.com/mirror/kubernetes

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
    
    setenforce 0
    #yum install -y kubelet kubeadm kubectl
    #ps: 由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用如下安装
    yum install -y --nogpgcheck kubelet kubeadm kubectl 
    
    #开机启动
    systemctl enable kubelet && systemctl start kubelet
    
    #下面需要执行、不操作kubeadm init 会出错
    #首次安装 mv /etc/containerd/config.toml /tmp
    systemctl restart containerd
    systemctl status containerd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    查看kubelet的状态:

    systemctl status kubelet
    
    • 1

    查看kubelet版本:

    kubelet --version
    
    • 1

    部署k8s-master、安装POD网络插件
    官方文档
    https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

    初始化高可用集群

    kubeadm init \
    --pod-network-cidr=10.244.0.0/16 \
    --control-plane-endpoint "k8s-api:6443" \
    --kubernetes-version v1.24.3
    #kubeadm config images pull
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    强化深度学习中利用时序差分法中的Sarsa算法解决风险投资问题实战(附源码 超详细必看)
    【程序员必备的十个网站推荐】
    deployment html--->JDBC--->mysql
    Windows使用模拟器启动AOSP源码编译的镜像
    漏洞复现----49、Apache Airflow 身份验证绕过 (CVE-2020-17526)
    Openlayers 自定义气泡框以及定位到气泡框
    Linux下C/C++编程开发(一)GCC
    linux课程第一课------命令的简单的介绍
    Vue3+TS+Vite 搭建组件库记录
    电商项目项目讲解【杭州多测师】【杭州多测师_王sir】
  • 原文地址:https://blog.csdn.net/jiakai82/article/details/126348872