kubeadm部署

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

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

# 创建一个 Master 节点
$ kubeadm init

# 将一个 Node 节点加入到当前集群中
$ kubeadm join <Master节点的IP和端口 >

1 安装要求

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

  • 一台或多台机器,操作系统 CentOS7.x-86_x64

  • 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多

  • 集群中所有机器之间网络互通

  • 可以访问外网,需要拉取镜像

  • 禁止swap分区

2 准备环境

角色

IP

k8s-master

192.168.166.84

k8s-node1

192.168.166.227

k8s-node2

192.168.31.63

3 所有节点安装Docker/kubeadm/kubelet/kubectl

3.1 安装Docker

Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。

由于更新频繁,安装时可以指定docker版本yum -y install docker-ce-18.06.1.ce-3.el7

3.2 配置docker加速器

3.3 添加阿里云YUM软件源

3.4 安装kubeadm,kubelet和kubectl

由于版本更新频繁,这里指定版本号部署:yum install -y kubelet-1.17.0 kubeadm-1.17.0 kubectl-1.17.0

3.5 配置kubectl、kubeadm命令的参数补全设置

4 部署Kubernetes Master

可以指定kubernetes的版本

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

通过--kubernetes-version v1.17.0参数,可以指定kubernetes的版本

执行成功后,按提示将相关配置文件复制到用户的home目录下

要记住最后kubeadm join那句话,node节点加入集群时需要。

5 安装Pod网络插件(CNI)

由于服务器连接不到raw.githubusercontent.com这个网址,所有我先在本地下载好,然后再传到服务器上去

6 加入Kubernetes Node

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

这句话为master初始化成功后的最后一句话

7 测试kubernetes集群

在master节点执行

在Kubernetes集群中创建一个pod,验证是否正常运行:

访问地址:http://NodeIP:Port

8 部署 Dashboard

由于服务器连接不到raw.githubusercontent.com这个网址,所有我先在本地下载好,然后再传到服务器上去

默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:

将上面改为:

访问地址:http://NodeIP:32443

创建service account并绑定默认cluster-admin管理员集群角色:

使用输出的token登录Dashboard。

Last updated

Was this helpful?