CentOS上安装Kubernetes集群(三)安装配置Kubernetes主节点的主人

  

安装配置运行Kubernetes的主节点的主人,其中包括了etcd的数据库,即etcd没有和主节点分开,使用于奇数个主节点安装。

  

1。生成kubernets的仓库配置文件

  
 <代码> #猫& lt; & lt; EOF祝辞/etc/yum.repos.d/kubernetes.repo
  (kubernetes)
  name=Kubernetes
  baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/启用=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  
  

2。安装kubeadm, kubelet, kubectl

  
 <代码> # yum安装kubeadm kubelet kubectl  
  

设置kubectl自启动

  
 <代码> # systemctl启用kubelet  
  

3。始化主节点

  

初始化命令“kubeadm”可以使用参数传递和yaml配置文件。

  

1)准备初始化所需组件(可选)

  

初始化的过程会首先拉取需要的容器镜像,而镜像又存储在k8s.gcr.io上,需要科学上的网,因此可先准备好镜像再执行初始化命令。

  

获取所需组件列表

  
 <代码> # kubeadm配置图片列表 
  

拉取命令直接获取组件

  
 <代码> # kubeadm配置图片拉 
  

如果没有改仓库则默认从k8s.gcr.io去获取,建议能够科学访问的环境下直接使用,也可以采用镜像站点来拉取。

  
 <代码> # vim k8s-pull-images.sh
  
  # !/bin/bash
  注册表=gcr.azk8s.cn/google-containers
  
  图像=(
  kube-apiserver: v1.16.3
  kube-controller-manager: v1.16.3
  kube-scheduler: v1.16.3
  kube-proxy: v1.16.3
  暂停:3.1
  etcd: 3.3.15-0
  coredns: 1.6.2
  )
  
  imageName在${图像[@]};做
  码头工人拉{注册}/imageName美元
  码头工人标签${注册}/$ imageName k8s.gcr.io/imageName美元
  码头工人rmi{注册}/imageName美元
   之前完成
  

说明:注册表还可以使用dockerhub中的镜像,具体修改:注册表=mirrorgooglecontainers(注意:只有amd64的镜像)。

  

其中组件包列表可以通过命令“kubeadm list"配置图像;获取。

  
 <代码> # chmod + x k8s-pull-images.sh
  #。/k8s-pull-images.sh  
  

上述脚本保存执行后可以通过“码头工人形象list"查看结果。

  

拉取非x86_64架构的镜像文件

  1.10

从码头工人注册v2.3和码头工人开始,码头工人通过支持新形象的媒体类型清单列表实现了多结构码头工人镜像功能,即一个图像清单列表包含已经存在镜像的清单对象的平台特性(CPU拱和操作系统类型)特征,在具体来讲就是拉取镜像的时候会根据现有的主机架构拉取相应的平台架构的镜像,因此强烈建议采用模拟器运行虚拟机的方式拉取该平台的镜像,如kvm + qemu + qemu-system-aarch74来运行arm64架构的虚拟机。
如果没有采用虚拟机的方式拉取镜像,比如在amd64平台下拉取arm64的镜像,则需要查看仓库中的具体标签,因为仓库有多个比如docker.io, quey.io,所以没有统一的规则、下面总结了本人需要用到的标签

  
      <李> k8s.gcr.io/kube-apiserver-arm64: v1.16.3李   <李> k8s.gcr.io/kube-controller-manager-arm64: v1.16.3李   <李> k8s.gcr.io/kube-scheduler-arm64: v1.16.3李   <李> k8s.gcr.io/kube-proxy-arm64: v1.16.3李   <李> k8s.gcr.io/暂停:3.1   <李> k8s.gcr.io/etcd-arm: 3.3.15-0李   <李> quey.io/coreos/法兰绒:0.11.0-arm64
    dockerhub仓库简单的使用镜像存储库的前缀来区分相同应用的不同平台,如下:李   <李> ARMv8 64位(arm64v8): https://hub.docker.com/u/arm64v8/   <李> Linux x86 - 64 (amd64): https://hub.docker.com/u/amd64/   <李> Windows x86 - 64 (windows-amd64): https://hub.docker.com/u/winamd64/
    但dockerhub还是建议构建多架构码头工人镜像,另外碰到一个例外的coredns:
    docker.io/coredns/coredns: coredns-arm64(对应最新版的coredns)
    quey.io的标签标签的写法就又不一样了,比如:李   <李> quey.io/coreos/法兰绒:0.11.0-arm64李   <李> quey.io/coreos/etcd: 3.3.15-0-arm64李   
  

离线环境镜像的导出和导入

  

离线环境中部署k8需要先在在线环境中下载导出,然后在传入离线环境中导入

  
镜像的导出
  

命令和格式

  
 <代码>码头工人拯救- o & lt;路径生成焦油file>& lt; name>形象;[& lt; image2 name>,…]  
  

举例(单个打包)

CentOS上安装Kubernetes集群(三)安装配置Kubernetes主节点的主人