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,在经历了这么多版本后,使得集群的安装、升级等操作变得极为简便,只要仔细、逐步按步骤操作,一定没有问题可以部署成功。

你可能感兴趣的:(kubernetes,kubernetes那些事儿)