k8s 安装

1. 安装前装备

1.1 检查 centos

1cat /etc/redhat-releas

1.2 检查hostname

  • 此处hostname的输出将会是该机器在K8s 集群中的名字

    1hostnamectl set-hostname <newhostname> 
    

1.3 检查CPU的信息

  • Architecture: x86_64

  • CPU(s): 2

    1lscpu
    

1.4 检查网卡信息

  • ip route show

    image-20220120151129882

  • 可以得知图中 默认的网卡为eth0

  • ip address (相关命令)

  • 保证 k8s的节点的ip 相互之间能ping (无需 NAT 映射、无安全组或防火墙隔离)

1.5 关闭selinux

  • setenforce 0

    image-20220207095455556

1屏蔽
2setenforce 0
3
4永久屏蔽
5sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

1.6 关闭 swap

  • swapoff -a

    image-20220207104531349

1# 复制原来的磁盘的加载
2yes | cp /etc/fstab /etc/fstab_bak
3# 磁盘加载 屏蔽swap的加载
4cat /etc/fstab_bak |grep -v swap > /etc/fstab

1.7 修改sysctl.conf

  • 文件地址:/etc/sysctl.conf

  • 文件内容

    1net.ipv4.ip_forward = 1
    2net.bridge.bridge-nf-call-ip6tables = 1
    3net.bridge.bridge-nf-call-iptables = 1
    4net.ipv6.conf.all.disable_ipv6 = 1
    5net.ipv6.conf.default.disable_ipv6 = 1
    6net.ipv6.conf.lo.disable_ipv6 = 1
    7net.ipv6.conf.all.forwarding = 1
    
  • 1sysctl 生效
    2sysctl -p
    

2. docker配置修改

  • 文件地址:/etc/docker/daemon.json

  • 文件内容

     1{
     2  "insecure-registries": ["docker.nexus.re
     3                          gistry:5000"],
     4  "registry-mirrors": ["http://docker.mirrors.ustc.edu.cn"],
     5  "exec-opts": ["native.cgroupdriver=systemd"],
     6  "log-driver": "json-file",
     7  "log-opts": {
     8    "max-size": "100m",
     9    "max-file":"3"
    10  },
    11  "data-root":"/docker/libdocker",
    12  "storage-driver": "overlay2",
    13  "storage-opts": [
    14    "overlay2.override_kernel_check=true"
    15  ],
    16  "dns":["10.168.2.1","1141.114.114.114","8.8.8.8"]
    17}
    
  • 1## 使docker的修改生效
    2systemctl daemon-reload
    3systemctl enable docker
    4systemctl restart docker
    

3. 部分配置软件安装

3.1 安装nfs 相关

  • 1yum install -y nfs-utils
    

3.2 安装wget

  • 1yum install -y wget
    

4. 安装k8s相关服务和管理工具

4.1 移除原先安装k8s

  • 命令

    1yum remove -y kubelet kubeadm kubectl
    

4.2 安装kubelet,kubeadm,kubectl

  • 安装yum源 (国外源)

    1cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    2[kubernetes]
    3name=Kubernetes
    4baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    5enabled=1
    6gpgcheck=1
    7repo_gpgcheck=1
    8gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    9EOF
    
  • 安装国内源 (阿里源) yum 只要一个可用的就可以

    1cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    2[kubernetes]
    3name=Kubernetes
    4baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    5enabled=1
    6gpgcheck=1
    7repo_gpgcheck=1
    8gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    9EOF
    
  • 安装 kubelet kubeadm kubectl

    1yum install -y kubelet-1.23.1 kubeadm-1.23.1 kubectl-1.23.1
    2
    
  • 配置 服务自启动

    1systemctl enable kubelet 
    2systemctl start kubelet
    
  • docker 重启启动

    1systemctl daemon-reload
    2systemctl restart docker
    

5. 下载需要的k8s 镜像

5.1 检测需要下载的镜像

  • 命令

    1kubeadm config images list