時代,要看的比其他人至少早兩年
繼上篇我的博文升級Postman:https://blog.csdn.net/dong19891210/article/details/106458776,這次計劃升級Kubernetes,要跟上時代,看這個明顯落伍了
?
發現和官網的相差十個多等級
我就一一記錄下升級步驟
1. 更改yum源
切換到
cd /etc/yum.repos.d
然后洗掉里面的默認yum配置,不放心的話可以備份,然后執行下載yum源配置
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
#dokcer yum源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
最后記得執行以下命令,讓新yum源生效:
yum clean all && yum makecache

?
2. 升級docker
先看下老版本的docker

?
請先卸載老版本的docker,要不然會出現

?
執行以下命令
yum list installed | grep docker
看裝的docker串列

?
洗掉它們
yum remove -y docker*.x86_64
此時再次執行
yum list installed | grep docker

?
然后執行docker安裝:
yum -y install docker-ce

?
下載進行中,,,,,,

?
安裝完畢,然后啟動docker
systemctl start docker

?
最后設定docker開機自啟動功能
systemctl enable docker

?
很熟悉,spring生態里有很多@Enable開頭的注解,也是表示啟用某功能的意思
至此,docker也已升級完畢!!!
順便修改下機器主機名
hostnamectl set-hostname master

?
再次打開一個視窗就能看的主機名已被改了

?
3 .升級Kubernetes
前提跟docker類似,記得卸載老版本的kubernetes

?
配置阿里yum源
/etc/yum.repos.d/kubernetes.repo/n[kubernetes]/nname=Kubernetes/nbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/nenabled=1/ngpgcheck=1/nrepo_gpgcheck=1/ngpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg/nEOF","classes":[]}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet">cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
然后再次生成yum資訊·
yum clean all && yum makecache
然后執行命令
yum list kubelet --showduplicates | sort -r
查看哪個版本的kubernetes可用

?
有最新的,說明此yum源不錯,很齊全
然后執行最新安裝命令
yum install -y kubelet-1.18.3-0 kubeadm-1.18.3-0 kubectl-1.18.3-0

?
安裝完畢
?
設定為開機自啟動
systemctl enable kubelet && systemctl start kubelet
執行以下命令列出所需鏡像,可以手動下載,也可以不用手動下載,master初始化時會自動下載,
kubeadm --kubernetes-version=v1.18.3 config images list

?
初始化master節點,執行以下命令
kubeadm init --apiserver-advertise-address=192.168.8.200 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.18.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
出現以下問題
?
那就關掉swap:
swapoff -a
由于之前該機器已裝過etcd

?
那就關閉ectd服務
?
目錄/var/lib/etcd/既然不空,那就強制洗掉

?
然后新建拉去鏡像腳本images.sh,鍵入以下內容
# 下面的鏡像應該去除"k8s.gcr.io/"的前綴
images=(
kube-apiserver:v1.18.3
kube-controller-manager:v1.18.3
kube-scheduler:v1.18.3
kube-proxy:v1.18.3
pause:3.2
etcd:3.4.3-0
coredns:1.6.7
)
for imageName in ${images[@]} ; do
docker pull mirrorgcrio/$imageName
docker tag mirrorgcrio/$imageName k8s.gcr.io/$imageName
docker rmi mirrorgcrio/$imageName
done
然后執行
sh images.sh

?
慢慢拉鏡像

?
再次執行初始化作業:
kubeadm init --apiserver-advertise-address=192.168.8.200 \
--control-plane-endpoint="192.168.8.200:6443" \
--kubernetes-version v1.18.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors all

?
然后按照提示設定普通賬戶權限
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
接著部署網路插件flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

?
終于升級到了最新版!!!
建議裸機安裝,不要像我一樣用裝過docker和kubernetes舊版本的機器,這老外天天改動,有出入,就像spring新版和老版本并不完全兼容,追人家的永遠都受制于人!!!!!!
yum install -y kubelet-1.18.3-0 kubeadm-1.18.3-0 kubectl-1.18.3-0
kubeadm --kubernetes-version=v1.18.3 config images list
kubeadm init --apiserver-advertise-address=192.168.8.200 \
--control-plane-endpoint="192.168.8.200:6443" \
--kubernetes-version v1.18.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors all
[root@master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
docker tag k8s.gcr.io/kube-apiserver:v1.18.3 registry.aliyuncs.com/google_containers/kube-apiserver:v1.18.3
docker tag k8s.gcr.io/kube-controller-manager:v1.18.3 registry.aliyuncs.com/google_containers/kube-controller-manager:v1.18.3
docker tag k8s.gcr.io/kube-scheduler:v1.18.3 registry.aliyuncs.com/google_containers/kube-scheduler:v1.18.3
docker tag k8s.gcr.io/kube-proxy:v1.18.3 registry.aliyuncs.com/google_containers/kube-proxy:v1.18.3
docker tag k8s.gcr.io/pause:3.2 registry.aliyuncs.com/google_containers/pause:3.2
docker tag k8s.gcr.io/etcd:3.4.3-0 registry.aliyuncs.com/google_containers/etcd:3.4.3-0
docker tag k8s.gcr.io/coredns:1.6.7 registry.aliyuncs.com/google_containers/coredns:1.6.7
至此,三大設施(Spring及衍生、postman、kubernetes及組合)全已升級完畢

?
小結:不建議此種方式安裝升級,還是以前原始碼式安裝比較牢靠,
參考:
0. 升級Kubernetes 1.18前,你不得不知的9件事
http://dockone.io/article/9952
1. Kubernetes 1.18: Fit & Finish
https://kubernetes.io/blog/2020/03/25/kubernetes-1-18-release-announcement/
2. Kubernetes 版本及版本傾斜支持策略 https://kubernetes.io/zh/docs/setup/release/
3. 使用kubeadm在Centos8上部署kubernetes1.18 https://www.kubernetes.org.cn/7189.html
4. kubernetes/yum/ https://mirrors.aliyun.com/kubernetes/yum/
5. kubeadm安裝kubenetes1.15.4集群 http://www.shangdixinxi.com/detail-1301548.html
6 Linux下minikube啟動失敗(It seems like the kubelet isn't running or healthy)
http://www.luyixian.cn/news_show_73520.aspx
7. Kubernetes使用中發現的問題和錯誤 https://yq.aliyun.com/articles/679198
8. 備忘錄 https://blog-static.cnblogs.com/files/dongguangming/%E5%9C%A8centos7%E4%B8%8A%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AEKubernetes,docker%E9%9B%86%E7%BE%A4%E7%AE%A1%E7%90%86.js
9. how to install kubernetes on centos7 or ubuntu18-04 (要 fan qiang) https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-install-kubernetes-on-centos-7-ubuntu-18-04-16-04-debian-9.html
10. setting up kubernetes cluster single-cp ormultiple-cp(也要fan qiang) https://medium.com/the-tech-inducers/setting-up-kubernetes-cluster-single-cp-or-multiple-cp-a7e8d95b3c0c
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/6759.html
標籤:其他
