kubeadm快速部署k8集群

  

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

  

这个工具能通过两条指令完成一个kubernetes集群的部署:

  

创建一个主节点
美元kubeadm init

  

将一个节点节点加入到当前集群中
$ kubeadm加入& lt;主节点的IP和端口在

  

1。安装要求

  

在开始之前,部署Kubernetes集群机器需要满足以下几个条件:

  
      <李>一台或多台机器,操作系统centos7.x - 86 _x64李   <李>硬件配置:2 gb或更多内存,2个CPU或更多CPU、硬盘30 gb或更多   <李>集群中所有机器之间网络互通李   <李>可以访问互联网,需要下载镜像李   <李>禁止交换分区李   
  

2。学习目标

  
      <李>在所有节点上安装码头工人和kubeadm李   <李>部署Kubernetes大师李   <李>部署容器网络插件   <李>部署Kubernetes节点,将节点加入Kubernetes集群中李   <李>部署仪表板Web页面,可视化查看Kubernetes资源李   
  

3。准备环境

  

关闭防火墙:
systemctl美元停止firewalld systemctl禁用firewalld美元

  

关闭selinux:
美元sed -我的s/执行/禁用//etc/selinux/config setenforce 0美元

  

关闭交换:
swapoff——临美元时
vim挂载美元永久
cd/etc/yum.repos.d/
mv CentOS-Base。回购CentOS-Base.repo。ori
wget - o/etc/yum.repos.d/CentOS-Base。回购http://mirrors.aliyun.com/repo/centos - 7.回购

  

添加主机名与IP对应关系(记得设置主机名):
如hostnamectl set-hostname k8s-master01

的/etc/hosts猫192.168.56.135 k8s-master01
192.168.56.136 k8s-node01
192.168.56.137 k8s-node02

  

将桥接的IPv4流量传递到iptables的链:
猫比;/etc/sysctl.d/k8s.参看& lt; & lt;EOF
net.bridge。bridge-nf-call-ip6tables=1
net.bridge。bridge-nf-call-iptables=1
EOF
sysctl系统——

  

4。所有节点安装码头工人/kubeadm kubelet

  

Kubernetes默认CRI(容器运行时)为码头工人,因此先安装码头工人。

  

4.1安装码头工人
为了防止k8不兼容最新版码头工人,这里安装18版本的
yum安装- y yum-utils device-mapper-persistent-data lvm2
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo wget - o/etc/yum.repos.d/docker-ce。回购
yum - y docker-ce-18.06.1.ce-3安装。el7
systemctl使码头工人,,systemctl开始码头工人

  

4.2添加阿里云百胜软件源

  

猫比;/etc/yum.repos.d/kubernetes。回购& lt; & lt;EOF
[kubernetes]
name=kubernetes
baseurl=启用https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

  

4.3安装kubeadm, kubelet和kubectl

  

由于版本更新频繁,这里指定版本号部署:

  

yum安装- y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
systemctl启用kubelet

  

5。部署Kubernetes大师

  

在192.168.56.135(主)执行。

  

kubeadm init美元\
——apiserver-advertise-address=192.168.56.135 \
映像库registry.aliyuncs.com/google_containers \
——kubernetes-version v1.15.0 \
——service-cidr=10.1.0.0/16 \
——pod-network-cidr=10.244.0.0/16

  

由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。

  

使用kubectl工具:

  

上一步完成后执行如下(主端会有提示)
mkdir - p $ HOME/ube
sudo cp -我/etc/kubernetes/admin.conf $ HOME/ube/配置
sudo乔恩(id - u):美元(id - g)美元$ HOME/.kube/配置

  

kubectl美元得到节点

  

6。安装舱网络插件(CNI)

  

kubectl应用- f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

  

确保能够访问到quay.io这个注册表。

  

如果下载失败,可以改成这个镜像地址:lizhenliang/法兰绒:v0.11.0-amd64

  

7。加入Kubernetes节点

  

在192.168.56.136/137(节点)执行。

  

向集群添加新节点,执行在kubeadm init输出的kubeadm加入命令:

  

8 dbunt kubeadm加入192.168.56.135:6443美元——令牌。xmqng5i4tk1nrta7 \
——discovery-token-ca-cert-hash sha256:8ce8d089b11a7eaff9d18405cdfa052d3e4f5e09f50bc88e06a8884de634b68c
稍等片刻,在大师查看节点信息。
[root@k8s-master01 ~]

kubeadm快速部署k8集群