huaweicloud-solution-deploying-and-managing-kubernetes-clusters:基于Kuboard-Spray的Kubernetes集群离线部署与管理方案

在ECS上一键部署Kuboard-Spray管理平台,帮助用户快速安装并管理Kubernetes集群

Branch3Tags0

[TOC]

解决方案介绍

该方案在弹性云服务器 ECS上部署开源软件Kuboard-Spray。Kuboard-Spray是一款可以在图形界面引导下完成 Kubernetes 高可用集群离线安装的工具,可以帮助用户快速部署管理K8s系统。

解决方案实践详情页面地址: https://www.huaweicloud.com/solution/implementations/deploying-and-managing-kubernetes-clusters.html

架构图

方案架构

架构描述

该解决方案会部署如下资源:

  • 创建一台弹性云服务器 ECS,用于部署Kuboard-Spray平台。
  • 创建一个弹性公网IP EIP,用于提供服务器访问公网和被公网访问的能力。
  • 创建安全组,通过配置安全组访问规则,保证弹性云服务器 ECS的网络安全。

组织结构

huaweicloud-solution-deploying-and-managing-kubernetes-clusters
├── deploying-and-managing-kubernetes-clusters.tf.json -- 资源编排模板
├── userdata
	├── install_kuboard_spray.sh  -- 脚本配置文件

开始使用

安全组规则修改(可选)

该解决方案使用22端口用来远程登录弹性云服务器 ECS,默认对该方案创建的VPC子网网段放开,请参考修改安全组规则,配置IP地址白名单,以便能正常访问服务。

安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。

添加安全组规则:根据业务使用需求需要新开放某个TCP端口,请参考添加安全组规则添加入方向规则,打开指定的TCP端口。

修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考修改安全组规则,来修改安全组中不合理的规则,保证云服务器等实例的网络安全。

删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考删除安全组规则进行安全组规则删除。

1.登录Kuboard-Spray。

访问 图10 所示部署输出位置公网IP,进入Kuboard Spray首页,默认账号:admin,密码:Kuboard123

图1 登录Kuboard-Spray

登录Kuboard-Spray

2.加载离线资源包。

在 Kuboard-Spray 界面中,导航到 系统设置 --> 资源包管理 界面,如下图所示:

图2 选择导入资源包(选择导入支持centos7.8操作系统的资源包),点击导入按钮

选择导入资源包(选择导入支持centos7.8操作系统的资源包),点击导入按钮

图3 加载资源包

加载资源包

图4 选择源(默认选择第一个),点击确定

选择源(默认选择第一个),点击确定

图5 加载资源包日志

加载资源包日志

大约等待15分钟,完成资源包加载

3.添加OS软件源。

在 Kuboard-Spray 界面中,导航到 系统设置 --> OS软件源 界面,如下图所示:

图6 添加OS软件源

操作系统选择Centos,镜像源名称自定义,选择镜像访问地址,点击确定

添加OS软件源

4.规划并安装集群。

在 Kuboard-Spray 界面中,导航到 集群管理界面,点击界面中的 添加集群安装计划 按钮,填写表单如下:

集群名称: 自定义名称,本文中填写为 kuboard123,此名称不可以修改

资源包:选择步骤2中导入的离线资源包

图7 添加集群安装计划

添加集群安装计划

点击上图对话框中的 确定 按钮后,将进入集群规划页面,在该界面中添加您每个集群节点的连接参数并设置节点的角色,如下图所示:

重要: kuboard-spray 所在机器不能当做 K8S 集群的一个节点,因为安装过程中会重启集群节点的容器引擎,这会导致 kuboard-spray 被重启掉。

图8 全局设置

设置SSH密码,选择Centos操作系统,添加centos软件源(选择步骤3添加的OS软件源)

全局设置

图9 添加节点,根据需求添加节点并自定义节点名称和节点角色

添加节点,根据需求添加节点并自定义节点名称和节点角色

tip 注意事项

最少的节点数量是 1 个;

ETCD 节点、控制节点的总数量必须为奇数;

在全局设置 标签页,可以设置节点的通用连接参数,例如所有的节点都使用相同的 ssh 端口、用户名、密码,则共同的参数只在此处设置即可;

在节点标签页,如果该节点的角色包含 etcd 则必须填写 ETCD 成员名称 这个字段;

如果您 KuboardSpray 所在节点不能直接访问到 Kubernetes 集群的节点,您可以设置跳板机参数,使 KuboardSpray 可以通过 ssh 访问集群节点。

集群安装过程中,除了已经导入的资源包以外,还需要使用 yum 或 apt 指令安装一些系统软件,例如 curl, rsync, ipvadm, ipset, ethtool 等,此时要用到操作系统的 apt 软件源或者 yum 软件源。全局设置 标签页中,可以引导您完成 apt / yum 软件源的设置,您可以:

使用节点操作系统已经事先配置的 apt / yum 源,或者在安装过程中自动配置节点的操作系统使用指定的软件源。

如果您使用 docker 作为集群的容器引擎,还需要在全局设置 标签页指定安装 docker 用的 apt / yum 源。

如果您使用containerd 作为容器引擎,则无需配置 docker 的 apt / yum 源,containerd 的安装包已经包含在 KuboardSpray 离线资源包中。

图10 购买节点ecs

提前购买满足需求规格的ecs用作节点主机(节点ecs必须和Kuboard-Spray平台ecs在同一vpc和安全组下以确保内网互通)

购买节点ecs

图11 查看节点ecs私有IP

查看节点ecs私有IP

图12 设置节点参数

设置主机(图11位置所示私有IP),设置密码(和全局设置密码保持一致),自定义etcd成员名称(仅etcd节点需要),验证连接,保存节点

设置节点参数

图13 安装/设置集群

点击安装/设置集群按钮,可以启动集群的离线安装过程,如下图所示:

安装/设置集群

取决于您机器的性能和网络访问速度,大约等待15分钟,集群就安装好了,安装成功时,日志界面的显示如下图所示:

图14 安装/设置集群完成

安装/设置集群完成

5.访问集群。

如果集群日志界面提示您集群已经安装成功,此时您可以返回到集群规划页面,此界面将自动切换到访问集群 标签页,如下图所示:

界面给出了三种方式可以访问 kubernetes 集群:

在集群主节点上执行 kubectl 命令

获取集群的 .kubeconfig 文件

将集群导入到 kuboard管理界面

图15 访问集群

访问下图所示kuboard所示私网IP对应的公网IP,进入kuboard多集群管理登录界面 图16

访问集群

以上为部署Kuboard-Spray平台所有步骤,接下来就可以访问Kubernetes多集群管理页面进行集群管理。

6.Kubernetes多集群管理。

登录kuboard进行集群管理,账号:admin,密码:Kuboard123

图16 登录kuboard

登录kuboard

图17 集群管理页面

集群管理页面

Introduction

在ECS上一键部署Kuboard-Spray管理平台,帮助用户快速安装并管理Kubernetes集群

Customize my domain