Kubernetes集群的部署方式及详细步骤

一、部署环境架构以及方式

Kubernetes集群的部署方式及详细步骤

第一种部署方式

1、针对于master节点

将API Server、etcd、controller-manager、scheduler各组件进行yum install、编译安装或者展开安装的方式手动直接安装在master节点主机上,作为系统级守护进程运行。

2、针对于node节点

将kube-proxy、kubelet、docker、flannel各组件进行yum install或下载已预制好的二进制程序包手动安装在node节点主机上,作为系统级守护进程运行。

此部署方式非常的繁琐,出于安全方面的考虑,各组件之间通信都需要配置CA和证书。

注:此部署方式的缺点就是如果master宕机了,需要手动进行启动这些系统级的守护进程

第二种部署方式

由于第一种部署方式比较繁琐,此次我们采用kubeadm工具进行部署,由k8s官方所提供的专门部署集群的管理工具。

每一个节点主机上包括master节点都要手动安装并运行docker,同时也都要手动安装并运行kubelet。如果将第一个节点初始化为master节点,在执行初始化这个步骤,其实就是通过kubeadm工具将API Server、etcd、controller-manager、scheduler各组件运行为Pod,也就是跑在docker上。而其他node节点,因已经运行了kubelet、docker组件,剩下的kube-proxy组件也是要运行在Pod上。

kubelet:负责能运行Pod化容器的核心组件

docker:运行容器的引擎

但是以上master节点上的Pod都是静态Pod(static Pod),并不受k8s自身管理,只是运行为Pod形式而已,也可运行为自托管Pod(本文不作阐述)。

Kubernetes集群的部署方式及详细步骤

而flannel组件也是运行在Pod上的系统级守护进程,起到各node节点通信作用。以下是flannel简单介绍:

https://www.linuxidc.com/Linux/2019-08/159869.htm

3、kubeadm的介绍

在GitHub上kubeadm的介绍:

https://github.com/kubernetes/kubeadm

二、Kubernetes集群的部署详细步骤

(一)简述部署流程

1、master、nodes节点要先安装kubelet、kubeadm和docker

2、在master节点上运行kubeadm init进程进行初始化集群

3、将各node节点加入集群中:kubeadm join

kubeadm工作原理详解见:https://github.com/kubernetes/kubeadm/blob/master/docs/design/design_v1.10.md(此文档介绍的是k8s1.10版本)

(二)部署流程的详细介绍

(1)master节点环境安装的准备工作

1、确保集群中的所有节点,服务器时间是同步的。设置详情如下:

https://www.cnblogs.com/huhyoung/p/9657253.html

2、公司内部局域网的服务器可配置hosts文件进行域名解析,例如马哥视频中的:

Kubernetes集群的部署方式及详细步骤

而云服务器需要另外考虑

注:阿里云服务器切记不要修改hostname

3、关闭防火墙服务

需要注意的是,CentOS Linux 7默认启动了firewalld(防火墙服务),而Kubernetes的master与工作node之间会有大量的网络通信,安全的做法是在防火墙上配置各组件需要相互通信的端口号。在一个安全的内部网络环境中可以关闭防火墙服务:

[root@master ~]# systemctl disable firewalld
[root@master ~]# systemctl stop firewalld

4、获取软件包

第一种部署方式获取软件包

源码包获取地址:https://github.com/kubernetes/kubernetes/releases

Kubernetes集群的部署方式及详细步骤

图中红色框的为源码包,而kubernetes.tar.gz不是源码包,但包含所需的所有组件。建议下载官方预制好的,master、node相关组件分别分开组建的包,点击CHANGELOG-1.11.md

Kubernetes集群的部署方式及详细步骤

点击目录跳转到

Kubernetes集群的部署方式及详细步骤

不管是master和node都应该安装服务端安装包,像图中的kubernetes-server-linux-amd64.tar.gz包,如果要进行交互,则需要安装客户端

第二种部署方式获取软件包

如果是Cent OS,建议使用yum install安装,Google官方已经将这些组件制作成了RPM包,这些包需要RPM包生成器动态生成,所以不能下载到本地使用,只能通过在线仓库进行安装。

(2)master节点环境的安装

1、配置yum仓库

先安装docker镜像,去阿里云官方镜像网站:https://opsx.alibaba.com/mirror找到docker-ce对应的linux centos系统repo配置文件,右击复制链接

Kubernetes集群的部署方式及详细步骤

然后进入/etc/yum.repos.d目录,下载到本地。

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Kubernetes集群的部署方式及详细步骤

接着再生成Kubernetes的仓库文件,创建并编辑kubernetes.repo。

[root@master yum.repos.d]# vim kubernetes.repo

写入以下内容,baseurl和gpgkey的路径可在阿里云官方镜像网站Kubernetes目录下找到。

Kubernetes集群的部署方式及详细步骤

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2e0d76c82bc8036f470960090f5ae4cb.html