Skip to content

Latest commit

 

History

History
195 lines (155 loc) · 5.86 KB

08-离线安装.md

File metadata and controls

195 lines (155 loc) · 5.86 KB

离线安装

约定

  • 本文以 CentOS 7.8_x86 64位操作系统 为例进行讲解。
  • 执行本教程中命令的用户为 root

准备离线包

  • 下载所需离线包

    curl -LO https://oss.choerodon.com.cn/kubeadm-ha/kubeadm-ha-1.21.4-amd64.tar
    curl -LO https://oss.choerodon.com.cn/kubeadm-ha/docker-ce-20.10.7-amd64.tar.gz
    
  • 点击这里查看所有离线包

离线安装 kubernetes 集群

节点信息

ip hostname OS role
192.168.56.11 node1 CentOS 7.8 master etcd worker
192.168.56.12 node2 CentOS 7.8 master etcd worker
192.168.56.13 node3 CentOS 7.8 master etcd worker
192.168.56.14 node4 CentOS 7.8 worker
192.168.56.15 deploy CentOS 7.8 kubeadm-ha(ansible)

注意: 以下操作未特殊说明都在 192.168.56.15 deploy 节点执行。

kubeadm-ha(ansible) 环境准备

  • 上传准备好的 2 个缓存文件至搭建 kubeadm-ha(ansible) 环境的服务器上,目录为 /root

  • 准备 kubeadm-ha(ansible) 环境

    # 解压 docker-ce-20.10.7-amd64.tar.gz
    mkdir docker-ce
    tar -xzvf docker-ce-20.10.7-amd64.tar.gz -C docker-ce
    
    # 添加本地源
    cat <<EOF | tee /etc/yum.repos.d/docker-ce.repo
    [docker-ce-stable]
    name=Docker CE Stable - \$basearch
    baseurl=file:///root/docker-ce/
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    EOF
    
    # 安装 docker
    yum install -y --disablerepo=\* --enablerepo=docker-ce-stable \
      lvm2 \
      device-mapper-persistent-data
    yum install -y --disablerepo=\* --enablerepo=docker-ce-stable \
      docker-ce-20.10.7 \
      docker-ce-cli-20.10.7 \
      containerd.io-1.4.6
    
    # 自定义 hosts 记录,方便后期调整 IP;IP 配置为运行 kubeadm-ha 镜像服务器的 IP
    # 本例中 192.168.56.15 就是运行 kubeadm-ha 镜像的服务器
    echo '192.168.56.15 registry.custom.local' >> /etc/hosts
    
    # 配置 docker
    mkdir -p /etc/docker
    # data-root 为 docker 存储目录,可修改为其他非共享存储目录。
    cat <<EOF | tee /etc/docker/daemon.json
    {
      "insecure-registries": ["registry.custom.local:12480"],
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m"
      },
      "data-root": "/var/lib/docker",
      "storage-driver": "overlay2",
      "storage-opts": [
        "overlay2.override_kernel_check=true"
      ]
    }
    EOF
    
    # 启动 docker
    systemctl enable docker
    systemctl start docker
    
    # 加载 kubeadm-ha 镜像
    docker load -i kubeadm-ha-1.21.4-amd64.tar
  • 运行 kubeadm-ha 镜像

    docker run -d --restart=always --name kubeadm-ha \
      -p 12480:80 \
      -v $PWD/my-cluster:/etc/ansible/my-cluster \
      -v $PWD/cluster-backup:/etc/ansible/cluster-backup \
      setzero/kubeadm-ha:1.21.4-amd64
  • 推送镜像到已有镜像库(可选项,可跳过)

    • 如果你不知道这一步可以干什么,请立即跳过
      # 命令格式:sync-images 镜像库地址 镜像库用户名 镜像库用户密码
      # 实例
      docker exec -it kubeadm-ha \
        sync-images harbor.custom.io/kubeadm-ha admin Harbor12345

编写配置文件

  • 编辑变量文件 ./my-cluster/variables.yaml,内容如下

    # 自定义 hosts 记录,方便后期调整 IP;IP 配置为 kubeadm-ha 镜像运行的服务器的 IP
    custom_hosts: 
      "192.168.56.15": 
      - "yum.custom.local"
      - "registry.custom.local"
    # 注意地址末尾 / 必须加上
    base_yum_repo: http://yum.custom.local:12480/yum/
    epel_yum_repo: http://yum.custom.local:12480/yum/
    docker_yum_repo: http://yum.custom.local:12480/yum/
    kubernetes_yum_repo: http://yum.custom.local:12480/yum/
    # 设置信任镜像库
    docker_insecure_registries:
    - "registry.custom.local:12480"
    containerd_registries:
      "registry.custom.local:12480": "http://registry.custom.local:12480"
    # 配置镜像地址
    kube_image_repository: registry.custom.local:12480/kubeadm-ha
  • 升级内核配置(可选项,可跳过;arm 架构暂不支持)

    • 编辑 ./my-cluster/variables.yaml 追加以下字段
      # 若需升级内核添加一下变量,不升级则不添加
      kernel_centos:
      - http://yum.custom.local:12480/yum/kernel-lt-5.4.92-1.el7.elrepo.x86_64.rpm
      - http://yum.custom.local:12480/yum/kernel-lt-devel-5.4.92-1.el7.elrepo.x86_64.rpm
  • 参考 01-集群安装 编写 ansible inventory 文件 ./my-cluster/inventory.ini

  • 执行安装

    • 升级内核(可选项,可跳过;arm 架构暂不支持)

      docker exec -it kubeadm-ha \
        ansible-playbook -i my-cluster/inventory.ini -e @my-cluster/variables.yaml 00-kernel.yml
      
    • 安装集群

      docker exec -it kubeadm-ha \
        ansible-playbook -i my-cluster/inventory.ini -e @my-cluster/variables.yaml 90-init-cluster.yml
      

安装 helm

注意: 以下操作未特殊说明都在 192.168.56.11 第一台 master 节点执行。

  1. 下载helm客户端

    curl -sO http://yum.custom.local:12480/helm-v3.5.4-linux-amd64.tar.gz
  2. 解压压缩包(以linux-amd64为例)

    tar -zxvf helm-v3.5.4-linux-amd64.tar.gz
  3. 将文件移动到PATH目录中(以linux-amd64为例)

    sudo mv linux-amd64/helm /usr/bin/helm

验证部署

  • 执行命令,出现以下信息即部署成功。

    $ helm version
    version.BuildInfo{Version:"v3.5.4", GitCommit:"1b5edb69df3d3a08df77c9902dc17af864ff05d1", GitTreeState:"dirty", GoVersion:"go1.16.3"}