美文网首页k8s
1.k8s 升级及新版安装方式镜像下载

1.k8s 升级及新版安装方式镜像下载

作者: 哆啦A梦_ca52 | 来源:发表于2019-11-25 19:26 被阅读0次

    https://github.com/kubernetes/kubernetes/releases?after=v1.13.13-beta.0

    下载网站

    image.png 下载完修改名称

    解压文件

    
    
    
    root@master:/usr/local/src/1.14.7# tar xf kubernetes-1.14.7-client-linux-amd64.tar.gz
    root@master:/usr/local/src/1.14.7# tar xf kubernetes-1.14.7-node-linux-amd64.tar.gz
    
    
    root@master:/usr/local/src/1.14.7# tar xf kubernetes-1.14.7-server-linux-amd64.tar.gz
    root@master:/usr/local/src/1.14.7# tar xf kubernetes1.14.7.tar.gz
    
    

    验证版本

    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# ./kube-controller-manager --version
    Kubernetes v1.14.7
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# ./kube-controller-manager version
    I1125 04:41:18.489559   11396 serving.go:319] Generated self-signed cert in-memory
    W1125 04:41:18.489711   1
    
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# ./kube-controller-manager --version
    Kubernetes v1.14.7
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# ./kube-apiserver --version
    Kubernetes v1.14.7
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# ./kube-scheduler --version
    Kubernetes v1.14.7
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# ./kubelet --version
    Kubernetes v1.14.7
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# ./kube-proxy --version
    Kubernetes v1.14.7
    
    
    

    升级指定的节点,注意升级之前把指定节点的服务停掉,否则无法升级

    root@master2:~# kubectl get nodes
    查看node信息
    192.168.200.197   Ready,SchedulingDisabled   master   47h   v1.13.5
    root@master2:~# systemctl stop kubelet kube-proxy
    停止服务
    
    删除这个节点
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# kubectl delete node 192.168.200.197
    node "192.168.200.197" deleted
    删除的时候会把他的pod移除到其他地方
    
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# scp kubelet kube-proxy 192.168.200.197:/usr/bin
    kubelet                                                                                               100%  122MB  30.6MB/s   00:03    
    kube-proxy                                                                                            100%   35MB  14.8MB/s   00:02 
    把命令拷贝过去
    root@master2:~# systemctl start kubelet kube-proxy
    在启动服务
    
    

    查看是否升级了

    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# kubectl get node
    NAME              STATUS                     ROLES    AGE   VERSION
    192.168.200.197   Ready                      <none>   17s   v1.14.7
    已经升级了
    

    升级node节点

    首先删除noode节点

    root@master2:~# kubectl delete node 192.168.200.206 
    node "192.168.200.206" deleted
    
    

    查看pod是否被删除的node节点影响

    root@master2:~# kubectl get pod --all-namespaces 
    NAMESPACE     NAME                                       READY   STATUS              RESTARTS   AGE
    default       busybox                                    0/1     ImagePullBackOff    8          23h
    default       net-test-cd766cb69-82tsl                   1/1     Running             0          43s
    default       net-test-cd766cb69-p5tzp                   0/1     ContainerCreating   0          38s
    
    停止服务器
    root@node1:/usr/bin# systemctl stop kubelet kube-proxy
    拷贝升级的命令包
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# scp kubelet kube-proxy 192.168.206:/usr/bin
    root@node1:/usr/bin# chmod  +xx kubelet 
    root@node1:/usr/bin# chmod +x kube-proxy 
    增加执行权限
    root@node1:/usr/bin# systemctl restart kubelet kube-proxy
    启动服务
    root@master2:/usr/bin# kubectl get node
    192.168.200.206   Ready                      <none>   9m38s   v1.14.7
    查看已经升级了
    
    

    升级node2节点

    
    root@master2:/usr/bin# kubectl delete node 192.168.200.207
    node "192.168.200.207" deleted
    root@node2:/usr/bin# systemctl stop  kubelet kube-proxy 
    root@node2:/usr/bin# rm -rf  kubelet kube-proxy 
    root@node2:/usr/bin# chmod +x kubelet kube-proxy 
    root@node2:/usr/bin# systemctl start  kubelet kube-proxy 
    
    
    root@master2:/usr/bin# kubectl get node
    NAME              STATUS                     ROLES    AGE   VERSION
    192.168.200.197   Ready                      <none>   54m   v1.14.7
    192.168.200.198   Ready,SchedulingDisabled   master   2d    v1.13.5
    192.168.200.206   Ready                      <none>   27m   v1.14.7
    192.168.200.207   Ready                      <none>   0s    v1.14.7
    
    

    升级master节点 kubelet kube-proxy

    先停止服务
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# systemctl stop kubelet kube-proxy
    拷贝命令到本机
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin#  scp kubelet kube-proxy 192.168.200.198:/usr/bin
    然后启动服务
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# systemctl start kubelet kube-proxy
    查看已经升级了
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# kubectl get node
    NAME              STATUS                     ROLES    AGE     VERSION
    192.168.200.197   Ready                      <none>   60m     v1.14.7
    192.168.200.198   Ready,SchedulingDisabled   master   2d1h    v1.14.7
    192.168.200.206   Ready                      <none>   33m     v1.14.7
    192.168.200.207   Ready                      <none>   5m42s   v1.14.7
    
    
    

    master节点升级kube-apiserver kube-controller-manager kube-scheduler

    停止服务
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# systemctl stop kube-apiserver kube-controller-manager kube-scheduler 
    
    升级命令
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# cp kube-apiserver kube-controller-manager kube-scheduler /usr/bin/
    
    然后启动服务
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# systemctl start kube-apiserver kube-controller-manager kube-scheduler 
    
    
    
    

    升级master2节点

    停止服务
    root@master2:/usr/bin# systemctl stop kube-apiserver kube-controller-manager kube-scheduler 
    拷贝命令
    root@master:/usr/local/src/1.14.7/kubernetes/server/bin# scp kube-apiserver kube-controller-manager kube-scheduler  192.168.200.197:/usr/bin/
    启动服务
    root@master2:/usr/bin# systemctl start kube-apiserver kube-controller-manager kube-scheduler 
    
    

    做快照升级后k8s集群

    然后恢复最初快照,使用二进制安装k8s

    https://github.com/easzlab/kubeasz/tree/2.0.3
    安装网站

    https://github.com/easzlab/kubeasz/blob/2.0.3/docs/setup/00-planning_and_overall_intro.md
    查看安装说明

    服务器主名称设置

    master   192.168.200.198    1.5g
    master2  192.168.200.197   1.5g
    node1    192.168.200.206    4g
    node2    192.168.200.207    4g
    harbor   192.168.200.200     1.5g
    harbor2  192.168.200.199    1.5g
    haproxy1 192.168.200.201  1.5g
    etcd1    192.168.200.203      2g
    etcd2    192.168.200.204      2g
    etcd3    192.168.200.205      2g
    
    
    克隆这个

    master节点指定克隆的分支

     git clone -b 2.0.3 https://github.com/easzlab/kubeasz.git
    
     apt-get install python2.7 -y
    安装python
    ln -s /usr/bin/python2.7 /usr/bin/python
    做个连接
    主节点安装ansiable
    root@master:~# apt install ansible -y
    Ansible服务器免秘钥登录:
    4.ansible服务器准备安装环境:
    下载安装包并准备安装环境
    4.1:下载安装包:
    # apt update
    # apt-get install python2.7 –y
    # ln -s /usr/bin/python2.7 /usr/bin/python
    Ansible服务器免秘钥登录
    1 # apt install ansible
    # ssh-keygen
    apt install sshpass -y
    root@master:~# cat scp.sh 
    #!/bin/bash
    #目标主机列表
    IP="
    192.168.200.197
    192.168.200.198
    192.168.200.199
    192.168.200.200
    192.168.200.201
    192.168.200.202
    192.168.200.203
    192.168.200.204
    192.168.200.205
    192.168.200.206
    192.168.200.207
    "
    for node in ${IP};do
    sshpass -p 123456 ssh-copy-id ${node} -o StrictHostKeyChecking=no
    if [ $? -eq 0 ];then
    echo "${node} 秘钥copy完成"
    else
    echo "${node} 秘钥copy失败"
    fi
    done
    root@master:~# bash scp.sh 
    
    在master节点优化,其他节点的脚本
    
    root@master:~# cat scp.sh | grep ^[^#]
    IP="
    192.168.200.197
    192.168.200.203
    192.168.200.204
    192.168.200.205
    192.168.200.206
    192.168.200.207
    "
    for node in ${IP};do
          scp docker-install.sh ${node}:/opt/
          scp -r /etc/docker/certs.d ${node}:/etc/docker/
          scp /etc/hosts ${node}:/etc/
          scp /etc/sysctl.conf ${node}:/etc/
          scp /etc/security/limits.conf ${node}:/etc/security/
          ssh ${node} "reboot"
          echo ${node},"重启成功"
    done
    

    ansible服务器准备安装环境:

    下载安装包并准备安装环境
    下载安装包

    声明版本
    root@master:~# export release=2.0.3
    root@master:~# curl -C- -fLO --retry 3 https://github.com/easzlab/kubeasz/releases/download/${release}/easzup
    下载安装包
    
    

    修改版本

    root@master:~# vim easzup 
    export DOCKER_VER=18.09.9
    修改docker版本
    export K8S_BIN_VER=v1.15.4
    修改k8s的版本
    
    root@master:~# chmod a+x easzup 
    加上执行权限
    root@master:~# ./easzup -D
    开始下载
    
    支持的版本
    查看已经下载的内容
    root@master:/usr/local/src# ll /etc/ansible/down/
    total 54960
    drwxrwxr-x  2 root root     4096 Nov 25 10:24 ./
    drwxrwxr-x 11 root root     4096 Aug 10 03:03 ../
    -rw-r--r--  1 root root 56262573 Nov 25 10:22 docker-18.09.9.tgz
    -rw-rw-r--  1 root root     1737 Aug 10 02:33 download.sh
    -rw-rw-r--  1 root root     1307 Aug 10 02:33 offline_images
    root@master:/usr/local/src# docker  images
    查看下载的镜像
    root@master:/usr/local/src# docker  images
    REPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZE
    easzlab/kubeasz-k8s-bin                             v1.15.4             fdca5d355fb3        7 weeks ago         525MB
    easzlab/kubeasz                                     2.0.3               baf72c8178d2        3 months ago        143MB
    easzlab/kubeasz-sys-pkg                             0.3.2               077b2185bae3        4 months ago        178MB
    easzlab/kubeasz-ext-bin                             0.3.0               dc2bb3cdf8a7        5 months ago        446MB
    traefik                                             v1.7.12             18471c10e6e4        5 months ago        71.7MB
    mirrorgooglecontainers/metrics-server-amd64         v0.3.3              c6b5d3e48b43        6 months ago        39.9MB
    coredns/coredns                                     1.5.0               7987f0908caf        7 months ago        42.5MB
    calico/node                                         v3.4.4              a8dbf15bbd6f        8 months ago        79.6MB
    calico/cni                                          v3.4.4              f5e5bae3eb87        8 months ago        75.4MB
    calico/kube-controllers                             v3.4.4              0030ff291350        8 months ago        56.5MB
    easzlab/flannel                                     v0.11.0-amd64       ff281650a721        10 months ago       52.6MB
    mirrorgooglecontainers/kubernetes-dashboard-amd64   v1.10.1             f9aed6605b81        11 months ago       122MB
    mirrorgooglecontainers/heapster-amd64               v1.5.4              72d68eecf40c        16 months ago       75.3MB
    mirrorgooglecontainers/pause-amd64                  3.1                 da86e6ba6ca1        23 months ago       742kB
    
    
    
    root@master:~# cd /etc/ansible/
    root@master:/etc/ansible# cp example/hosts.multi-node ./hosts
    
    root@master:/etc/ansible# vim hosts
    
     24 [ex-lb]
     25 #192.168.200.201 LB_ROLE=backup EX_APISERVER_VIP=192.168.200.248 EX_APISERVER_PORT=8443
     26 192.168.200.201 LB_ROLE=master EX_APISERVER_VIP=192.168.200.248 EX_APISERVER_PORT=8443
    
    [etcd]
    192.168.200.203 NODE_NAME=etcd1
    192.168.200.204 NODE_NAME=etcd2
    192.168.200.205 NODE_NAME=etcd3
    # master node(s)
    [kube-master]
    192.168.200.198
    192.168.200.197
    # work node(s)
    [kube-node]
    192.168.200.207
    192.168.200.206
     32 [all:vars]
     33 # --------- Main Variables ---------------
     34 # Cluster container-runtime supported: docker, containerd
     35 CONTAINER_RUNTIME="docker"
     36 
     37 # Network plugins supported: calico, flannel, kube-router, cilium, kube-ovn
     38 CLUSTER_NETWORK="calico"
     39 
     40 # K8S Service CIDR, not overlap with node(host) networking
     41 SERVICE_CIDR="10.20.0.0/16"
     42 
     43 # Cluster CIDR (Pod CIDR), not overlap with node(host) networking
     44 CLUSTER_CIDR="172.31.0.0/16"
     45 
     46 # NodePort Range
     47 NODE_PORT_RANGE="30000-65000"
     54 bin_dir="/usr/bin"
    
    
    
    

    相关文章

      网友评论

        本文标题:1.k8s 升级及新版安装方式镜像下载

        本文链接:https://www.haomeiwen.com/subject/haedwctx.html