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

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"



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