k8s(十五)、Kubernetes v1.14多master集羣部署

前言

距離上一次搭1.9版本,已經過去一年了,這一年時間裏,kubernetes已經迭代到了v1.14.3版本了,爲了體驗新版本的特性,今天來搭建最新版的集羣,部署步驟與之前的一致,CNI kube-router經過了線上一年的驗證,這裏繼續沿用kube-router的bgp直通網絡方案。
具體步驟與之前的v1.9版本幾乎完全一致,本篇只列出差異部分,詳情可參考此前的文章:
k8s(一)、 1.9.0高可用集羣本地離線部署記錄

規劃信息

在這裏插入圖片描述

應用安裝

kube組件安裝
## centos:
# 配置yum源
cat > /etc/yum.repos.d/kubernetes.repo  <<EOF 
[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 makecache

# 安裝最新版
yum install -y kubelet kubectl kubeadm

## ubuntu
apt-get install -y apt-transport-https

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
 
cat > /etc/apt/sources.list.d/kubernetes.list << EOF
  deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

apt-get update
apt-get -y install kubelet kubectl kubeadm
etcd版本注意:

特別注意,v1.9 k8s用的是v3.10版本的etcd,現在最新的v1.14版本k8s支持的etcd最低版本爲3.12.x,因此這裏etcd的版本替換成了3.13版本的

wget https://github.com/etcd-io/etcd/releases/download/v3.3.13/etcd-v3.3.13-linux-amd64.tar.gz

安裝步驟與此前一致,不再複述

集羣初始化

1.14版本的初始化配置文件與此前以前產生了較大的差異,這裏單獨列出來,如下是kubeadm v1.14初始化使用的配置文件:

# cat kubeadmin-config.yaml

apiVersion: kubeadm.k8s.io/v1beta1
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: "192.168.8.15"
  bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
etcd:
  external:
    endpoints:
    - "https://192.168.8.19:2379"
    - "https://192.168.8.20:2379"
    - "https://192.168.8.21:2379"
    caFile: /etc/etcd/ssl/ca.pem 
    certFile: /etc/etcd/ssl/etcd.pem 
    keyFile: /etc/etcd/ssl/etcd-key.pem
networking:
  podSubnet: "172.36.0.0/16"
  serviceSubnet: 10.112.0.0/12
apiServer:
  certSANs:
  - "host008019" 
  - "host008020"
  - "host008021"
  - "192.168.8.19"
  - "192.168.8.20"
  - "192.168.8.21"
  - "192.168.8.15"
kubernetesVersion: "v1.14.3"
imageRepository: "registry.cn-hangzhou.aliyuncs.com/google_containers"  # 如果不能科學上網,添加一行這個後,kubeadm初始化鏡像會從阿里雲拉取

可配置選項很多,本樣本僅作參考,具體可以查閱官方文檔:
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-config/

master初始化:

kubeadm init --config kubeadmin-config.yaml

其餘節點照做,參考1.9部署文檔

集羣檢查

root@host008019:~# kubectl get nodes
NAME         STATUS   ROLES    AGE   VERSION
host008019   Ready    master   14h   v1.14.3
host008020   Ready    master   14h   v1.14.3
host008021   Ready    master   14h   v1.14.3

總結

kubeadm作爲官方推薦的GA,在經歷了這麼多版本後,使得集羣的安裝、升級等操作變得極爲簡便,只要仔細、逐步按步驟操作,一定沒有問題可以部署成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章