高可用k8s集群搭建:离线安装kubeadm、kubectl、kubelet

  既然是离线安装,当然需要先下载离线安装包了,由于官方的离线安装包服务器被墙,因此想下载离线包就需要一个可以访问谷歌的服务器(作者这里使用的阿里云的美国节点,竞价示例,用几分钟就就行,很便宜的,文章底部有最新的rpm包下载链接^_^),下载步骤如下:

  • 配置安装源并关闭防火墙,参考官网https://kubernetes.io/docs/setup/independent/install-kubeadm/
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
    setenforce 0
    yum -y update
  • 下载安装包,执行命令yum -y install --downloadonly --downloaddir=k8s kubelet kubeadm kubectl,即将 kubelet、kubeadm、kubectl 的安装包及其依赖安装到 k8s 目录
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    。。。
    Dependencies Resolved

    =================================================================================================================================================================================================================
    Package Arch Version Repository Size
    =================================================================================================================================================================================================================
    Installing:
    kubeadm x86_64 1.8.3-0 kubernetes 15 M
    kubectl x86_64 1.8.3-0 kubernetes 7.3 M
    kubelet x86_64 1.8.3-0 kubernetes 16 M
    Installing for dependencies:
    kubernetes-cni x86_64 0.5.1-1 kubernetes 7.4 M
    socat x86_64 1.7.3.2-2.el7 base 290 k

    Transaction Summary
    =================================================================================================================================================================================================================
    Install 3 Packages (+2 Dependent packages)

    Total download size: 46 M
    Installed size: 243 M
    Background downloading packages, then exiting:
    warning: /root/k8s/ae43f92f96e828779f9744b3660e207199d97dda22eb44c054d2f3150da76b94-kubectl-1.8.3-0.x86_64.rpm.11960.tmp: Header V4 RSA/SHA1 Signature, key ID 3e1ba8d5: NOKEY ] 17 MB/s | 11 MB 00:00:02 ETA
    Public key for ae43f92f96e828779f9744b3660e207199d97dda22eb44c054d2f3150da76b94-kubectl-1.8.3-0.x86_64.rpm.11960.tmp is not installed
    (1/5): ae43f92f96e828779f9744b3660e207199d97dda22eb44c054d2f3150da76b94-kubectl-1.8.3-0.x86_64.rpm | 7.3 MB 00:00:01
    (2/5): cab6b288e91e613d81c63101c7d293059a4a9f2c0795228042c880f770a9ec60-kubeadm-1.8.3-0.x86_64.rpm | 15 MB 00:00:01
    (3/5): socat-1.7.3.2-2.el7.x86_64.rpm | 290 kB 00:00:00
    (4/5): 79f9ba89dbe7000e7dfeda9b119f711bb626fe2c2d56abeb35141142cda00342-kubernetes-cni-0.5.1-1.x86_64.rpm | 7.4 MB 00:00:00
    (5/5): a53acfe63a475bf61661036c12890217f4921a6d6d6c3e6ecb4c598fc11cac19-kubelet-1.8.3-0.x86_64.rpm | 16 MB 00:00:01
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Total 18 MB/s | 46 MB 00:00:02
    exiting because "Download Only" specified

    [root@iZrj9fnvr82ccmtwd4x5nhZ ~]# ll k8s/
    total 46760
    -rw-r--r-- 1 root root 7801930 Nov 20 14:28 79f9ba89dbe7000e7dfeda9b119f711bb626fe2c2d56abeb35141142cda00342-kubernetes-cni-0.5.1-1.x86_64.rpm
    -rw-r--r-- 1 root root 16516710 Nov 20 14:28 a53acfe63a475bf61661036c12890217f4921a6d6d6c3e6ecb4c598fc11cac19-kubelet-1.8.3-0.x86_64.rpm
    -rw-r--r-- 1 root root 7618130 Nov 20 14:28 ae43f92f96e828779f9744b3660e207199d97dda22eb44c054d2f3150da76b94-kubectl-1.8.3-0.x86_64.rpm
    -rw-r--r-- 1 root root 15618410 Nov 20 14:28 cab6b288e91e613d81c63101c7d293059a4a9f2c0795228042c880f770a9ec60-kubeadm-1.8.3-0.x86_64.rpm
    -rw-r--r-- 1 root root 296632 Aug 11 03:50 socat-1.7.3.2-2.el7.x86_64.rpm
  • 将以上 rpm 包拷贝到需要安装 kubeadm 的机器,执行setenforce 0yum -y localinstall *.rpm即完成安装
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    [niuhp@localhost rpm]$ setenforce 0
    setenforce: SELinux is disabled
    [niuhp@localhost rpm]$ sudo yum -y localinstall *.rpm
    Loaded plugins: fastestmirror, langpacks
    Examining kubeadm-1.8.3-0.x86_64.rpm: kubeadm-1.8.3-0.x86_64
    Marking kubeadm-1.8.3-0.x86_64.rpm to be installed
    Examining kubectl-1.8.3-0.x86_64.rpm: kubectl-1.8.3-0.x86_64
    Marking kubectl-1.8.3-0.x86_64.rpm to be installed
    Examining kubelet-1.8.3-0.x86_64.rpm: kubelet-1.8.3-0.x86_64
    Marking kubelet-1.8.3-0.x86_64.rpm to be installed
    Examining kubernetes-cni-0.5.1-1.x86_64.rpm: kubernetes-cni-0.5.1-1.x86_64
    Marking kubernetes-cni-0.5.1-1.x86_64.rpm to be installed
    Examining socat-1.7.3.2-2.el7.x86_64.rpm: socat-1.7.3.2-2.el7.x86_64
    Marking socat-1.7.3.2-2.el7.x86_64.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package kubeadm.x86_64 0:1.8.3-0 will be installed
    ---> Package kubectl.x86_64 0:1.8.3-0 will be installed
    ---> Package kubelet.x86_64 0:1.8.3-0 will be installed
    ---> Package kubernetes-cni.x86_64 0:0.5.1-1 will be installed
    ---> Package socat.x86_64 0:1.7.3.2-2.el7 will be installed
    --> Finished Dependency Resolution
    base/7/x86_64 | 3.6 kB 00:00:00
    epel/x86_64 | 4.3 kB 00:00:00
    extras/7/x86_64 | 3.4 kB 00:00:00
    gomedc/7/x86_64 | 2.9 kB 00:00:00
    updates/7/x86_64 | 3.4 kB 00:00:00

    Dependencies Resolved

    =================================================================================================================================================================================================================
    Package Arch Version Repository Size
    =================================================================================================================================================================================================================
    Installing:
    kubeadm x86_64 1.8.3-0 /kubeadm-1.8.3-0.x86_64 89 M
    kubectl x86_64 1.8.3-0 /kubectl-1.8.3-0.x86_64 36 M
    kubelet x86_64 1.8.3-0 /kubelet-1.8.3-0.x86_64 89 M
    kubernetes-cni x86_64 0.5.1-1 /kubernetes-cni-0.5.1-1.x86_64 28 M
    socat x86_64 1.7.3.2-2.el7 /socat-1.7.3.2-2.el7.x86_64 1.1 M

    Transaction Summary
    =================================================================================================================================================================================================================
    Install 5 Packages

    Total size: 243 M
    Installed size: 243 M
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Installing : socat-1.7.3.2-2.el7.x86_64 1/5
    Installing : kubernetes-cni-0.5.1-1.x86_64 2/5
    Installing : kubelet-1.8.3-0.x86_64 3/5
    Installing : kubectl-1.8.3-0.x86_64 4/5
    Installing : kubeadm-1.8.3-0.x86_64 5/5
    Verifying : kubelet-1.8.3-0.x86_64 1/5
    Verifying : kubectl-1.8.3-0.x86_64 2/5
    Verifying : socat-1.7.3.2-2.el7.x86_64 3/5
    Verifying : kubeadm-1.8.3-0.x86_64 4/5
    Verifying : kubernetes-cni-0.5.1-1.x86_64 5/5

    Installed:
    kubeadm.x86_64 0:1.8.3-0 kubectl.x86_64 0:1.8.3-0 kubelet.x86_64 0:1.8.3-0 kubernetes-cni.x86_64 0:0.5.1-1 socat.x86_64 0:1.7.3.2-2.el7

    Complete!
  • 最后一步,启动!
    1
    2
    [niuhp@localhost rpm]$ sudo systemctl enable kubelet && sudo systemctl start kubelet
    Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /etc/systemd/system/kubelet.service.
参考

https://kubernetes.io/docs/setup/independent/install-kubeadm/

kubeadm 安装包下载