【Kubernetes系列】第3篇Kubernetes集群安装部署

  

本文介绍了如何通过Kubespray来进行部署高可用k8集群,k8版本为1.12.5。

<强> 1部署手册

代码仓库:https://github.com/kubernetes-sigs/kubespray

参考文档:https://kubespray.io//

<强> 2,k8主机器配置

<强> 3,k8集群安装步骤

<强>步骤1:设置主机间的免密登录

由于Kubespray是依赖于ansible, ansible通过ssh协议进行主机之间的访问,所以部署之前需要设置主机之间免密登录,步骤如下:

 - t rsa
  scp ~/. ssh/id_rsa。酒吧root@IP:/root/. ssh
  ssh root@IP
  猫/root/.ssh/id_rsa.酒吧在祝辞/root/.ssh/authorized_keys 

<强>步骤2:下载kubespray

注意:不要通过使用github仓库大师分支的代码,我这里使用的是标签v2.8.3进行部署

wget https://github.com/kubernetes-sigs/kubespray/archive/v2.8.3.tar.gz   焦油-xvf v2.8.3cd kubespray-v2.8.3

<强> 3.1更换镜像

Kubernetes安装大部分都是使用的国外的镜像,由于防火墙原因没有办法获取到这些镜像,所以需要自己创建镜像仓库并将这些镜像获取到上传到镜像仓库中。

<强> 3.1.1新建镜像仓库

镜像仓库我们选用的组件是港口,安装步骤参考:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

<强> 3.1.2整理k8集群部署中需要使用的镜像

在文件角色/下载/违约/main.yml文件中,可以看到使用的全量镜像列表,注意某些镜像由于功能未使用的原因所以暂时没有用的到,我们主要用到有如下镜像:

<强> 3.1.3下载所需镜像并上传至私有镜像仓库

使用的镜像列表如下,在这里我申请了一台国外的阿里云主机,在该台主机下载所需镜像然后上传至私有镜像仓库

例如操作某个镜像时,需要执行如下命令:

码头工人拉gcr.io/google_containers/kubernetes-dashboard-amd64: v1.10.0   码头工人标签gcr.io/google_containers/kubernetes-dashboard-amd64: v1.10.0 106.14.219.69:5000/google_containers/kubernetes-dashboard-amd64: v1.10.0   码头工人推106.14.219.69:5000/google_containers/kubernetes-dashboard-amd64: v1.10.0

<强> 3.1.4更改镜像地址并修改码头工人配置

在库存/testcluster group_vars/k8s-cluster/k8s-cluster。yml文件中添加如下配置:

# kubernetes回购定义图像   kube_image_repo:“10.0.0.183:5000/google_containers”   # #修改:罗宾   #评论:将使?的组件的镜像仓库修改为私有镜像仓库地址   etcd_image_repo:“10.0.0.183:5000/coreos/etcd”   coredns_image_repo:“10.0.0.183:5000/coredns”   calicoctl_image_repo:“10.0.0.183:5000/印花/ctl”   calico_node_image_repo:“10.0.0.183:5000/印花/节点”   calico_cni_image_repo:“10.0.0.183:5000/印花/有限公司”   calico_policy_image_repo:“10.0.0.183:5000/印花/kube-controllers”   hyperkube_image_repo:“{{kube_image_repo}}/hyperkube - {{image_arch}}”   pod_infra_image_repo:“{{kube_image_repo}}/暂停- {{image_arch}}”   dnsautoscaler_image_repo:“{{kube_image_repo}}/cluster-proportional-autoscaler - {{image_arch}}”   dashboard_image_repo:“{{kube_image_repo}}/kubernetes-dashboard - {{image_arch}}”

由于我们的私有镜像仓库未配置https证书,需要在库存/testcluster/group_vars//码头工人。yml文件中添加如下配置:


docker_insecure_registries:   ——10.0.0.183:5000

<强> 3.2码头工人安装源更改以及执行文件预处理

<强> 3.2.1码头工人安装源更改

由于默认从码头工人官方源安装码头工人,速度非常慢,这里我们更换为国内阿里源,在库存/testcluster group_vars/k8s-cluster/k8s-cluster。yml文件中添加如下配置:

# CentOS/RedHat docker-ce回购   docker_rh_repo_base_url:“   docker_rh_repo_gpgkey:“   dockerproject_rh_repo_base_url:“   dockerproject_rh_repo_gpgkey:“https://mirrors.aliyun.com/docker-engine/yum/gpg”


<强> 3.2.2可执行文件预处理

另外由于需要从谷歌以及github下载一些可执行文件,由于防火墙原因无法直接在服务器上下载,我们可以预先将这些执行文件下载好,然后上传到指定的服务器路径中

可执行文件下载地址可以在/下载/违约/主要角色。yml文件中查找到,下载路径如下:

 kubeadm_download_url:“https://storage.googleapis.com/kubernetes-release/release/v1.12.5/bin/linux/amd64/kubeadm”
  hyperkube_download_url:“https://storage.googleapis.com/kubernetes-release/release/v1.12.5/bin/linux/amd64/hyperkube”
  cni_download_url: " https://github.com/containernetworking/plugins/releases/download/v0.6.0/cni-plugins-amd64-v0.6.0.tgz " 

【Kubernetes系列】第3篇Kubernetes集群安装部署