k8s环境安装注意事项

关闭防火墙

ufw disable

网络设置

/etc/sysctl.d/k8s.conf
 cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
            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
 sysctl -p /etc/sysctl.d/k8s.conf

/etc/sysctl.d/k8s.conf 是一个文件,它包含了一些 Linux 内核参数的配置,这些配置对于 Kubernetes 集群的运行是必须的。在这个文件中,管理员可以配置网络、内存、文件系统等方面的参数,以便使集群的性能和可靠性得到优化和提高。

  • net.bridge.bridge-nf-call-ip6tables:允许桥接网络调用 IPv6 的 iptables
  • net.bridge.bridge-nf-call-iptables:允许桥接网络调用 iptables
  • net.ipv4.ip_forward:允许 IP 转发功能
  • net.ipv4.tcp_tw_recycle:启用 TCP 时间戳选项,提高 TCP 连接的效率
  • vm.swappiness:定义系统交换分区使用的程度,减少交换分区的使用可以提高性能
  • vm.overcommit_memory:允许系统过度分配内存,防止应用程序由于内存限制而崩溃
  • fs.inotify.max_user_watches:提高 inotify 监视文件数的限制,以避免无法监视新文件
mkdir -p /etc/sysconfig/modules/
        cat > /etc/sysconfig/modules/ipvs.modules <<EOF 
        #!/bin/bash 
        modprobe -- ip_vs 
        modprobe -- ip_vs_rr 
        modprobe -- ip_vs_wrr 
        modprobe -- ip_vs_sh 
        modprobe -- nf_conntrack_ipv4 
EOF
 chmod 755 /etc/sysconfig/modules/ipvs.modules && sh /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

/etc/sysconfig/modules/ipvs.modules是一个用于Linux系统的模块加载文件,它包含了在启动时自动加载IPVS模块的命令。IPVS是Linux内核中的一种网络负载均衡技术,需要在系统中加载相应的内核模块才能使用。

该文件的作用是在系统启动时自动加载IPVS模块,而不需要手动执行命令进行加载。它通过在/usr/lib/modules-load.d/目录下创建一个名为ipvs.conf的文件,将IPVS模块添加到系统启动时自动加载的模块列表中。这样,在下次系统重启后,IPVS模块将自动加载并可用于进行负载均衡。
其中,modprobe命令用于加载指定的内核模块,--选项表示指定的参数是内核模块的名称,ip_vs、ip_vs_rr、ip_vs_wrr和ip_vs_sh是IPVS负载均衡中常用的内核模块。

使用该文件可以避免在每次系统重启后手动加载IPVS模块的繁琐操作,使得负载均衡配置更加方便和稳定。

关闭swap分区

/sbin/swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
echo "vm.swappiness=0" >> /etc/sysctl.conf
/sbin/sysctl -p

在 Kubernetes 集群中,关闭 swap 分区是为了保证系统的稳定性和安全性。Swap 分区是一种内存缓存,用于在物理内存不足时缓解压力,但它的效率比物理内存要低得多。在 Kubernetes 中,容器的内存是由 cgroups 进行限制和分配的,如果使用了 swap 分区,可能会导致内存分配不准确,影响容器的运行。此外,关闭 swap 分区还可以避免因为 swap 导致系统负载过高、运行缓慢、死机等问题。因此,在安装 Kubernetes 时,需要关闭 swap 分区。

安装docker

tee -a /etc/apt/sources.list <<EOF
            # kubeadm及kubernetes组件安装源
            deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main

该源https://mirrors.aliyun.com/kubernetes/apt是阿里云提供的 Kubernetes 软件包的 APT 软件源,用于在 Ubuntu/Debian 系统上安装 Kubernetes。该源提供了 Kubernetes 的主要组件和工具的软件包,包括 kubelet、kubeadm、kubectl、kubernetes-cni 等

cat apt-key.gpg | sudo apt-key add -
        sudo apt-get update
        sudo apt-get install -y \
            apt-transport-https \
            ca-certificates \
            curl \
            git \
            gnupg-agent \
            software-properties-common

        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
        sudo apt-key fingerprint 0EBFCD88
        sudo add-apt-repository \
            "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
            $(lsb_release -cs) \
            stable"
sudo apt-get update
        case "$(lsb_release -r --short)" in
            *16.04* ) sudo apt-get install -y docker-ce=5:19.03.13~3-0~ubuntu-xenial docker-ce-cli=5:19.03.13~3-0~ubuntu-xenial containerd.io ;;
            *18.04* ) sudo apt-get install -y docker-ce=5:19.03.13~3-0~ubuntu-bionic docker-ce-cli=5:19.03.13~3-0~ubuntu-bionic containerd.io ;;
            *20.04* ) sudo apt-get install -y docker-ce=5:19.03.13~3-0~ubuntu-focal docker-ce-cli=5:19.03.13~3-0~ubuntu-focal containerd.io ;;
            * ) exit ;;

安装nvidia docker

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    sudo apt-get update && sudo apt-get install -y nvidia-docker2
    sudo systemctl restart docker

安装k8s工具

 sudo apt-get update -y && apt-get install -y --allow-unauthenticated kubelet=1.16.3-00 kubeadm=1.16.3-00 kubectl=1.16.3-00
    cat <<EOF | sudo tee /etc/sysconfig/kubelet
        KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
EOF
    systemctl enable kubelet

pull镜像

images=(kube-scheduler:${k8s_version}
                        kube-proxy:${k8s_version}
                        kube-controller-manager:${k8s_version}
                        kube-apiserver:${k8s_version}
                        pause:3.1
                        etcd:3.3.15-0)
        for imagename in ${images[@]}; do
        docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imagename
        docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imagename k8s.gcr.io/$imagename
        docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imagename
        done
        docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.2
        docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.2 k8s.gcr.io/coredns:1.6.2
        docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.2
        docker pull calico/cni:v3.9.0
        docker pull calico/node:v3.9.0
        docker pull calico/pod2daemon-flexvol:v3.9.0
        docker pull calico/kube-controllers:v3.9.0

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容