javaWeb学习k8s

搭建Kubesphere集群

2021-04-14  本文已影响0人  番茄____

快速部署KubeSphere容器平台

1.环境描述

image.png

所有服务器均采用centos7.6版本,最小安装模式,每个服务器均有一个空余磁盘用于部署ceph

image.png

这里使用的是/dev/sdb磁盘,用于安装ceph集群

2. 环境准备(所有节点)

2.1 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

2.2 关闭swap

swapoff -a
sed -i  '/ swap / s/^/#/' /etc/fstab

2.3 关闭Selinux

setenforce 0
sed -i '/=enforcing/ s/enforcing/disabled/' /etc/selinux/config

2.4 安装所需软件

yum -y install net-tools sshpass unzip lrzsz vim 

2.5 设置服务器hostname

hostnamectl set-hostname ***(对应每个服务器)

3. 安装相关组件

kubeoperator描述:在kubeoperator上面安装ansible工具并通过kubeoperator工具对kubesphere集群的三台初始服务器安装Kubernetes和Kubesphere容器平台。

3.1 登录kubeoperator服务器

ssh 10.10.12.170

3.2 将所需软件拷贝到kubeoperator下的/tmp/tmp目录中

image.png

3.3 给shell脚本文件添加执行权限

image.png
chmod +x prepare.sh

3.4 根据实际环境情况对应修改prepare.sh内容

 vim /tmp/tmp/prepare.sh
image.png

备注:ceph集群统一使用root登录,密码为Changeme_123

3.5 执行prepare.sh

sh /tmp/tmp/prepare.sh
image.png

前期准备完成(整个过程大概1分钟)

3.6 执行deploy-docker.sh,安装docker

cd /tmp/tmp/devops/
sh deploy-docker.sh 
image.png

3.7 执行deploy-harbor.sh,安装Harbor镜像仓库

sh deploy-harbor.sh 
image.png

整个过程大概持续10分钟左右

image.png

当ansible脚本完成后,打开网页浏览器输入:https://10.10.12.170

image.png

Harbor里面包含了所需要的相关kubesphere的安装包

3.8 执行deploy-kubeoperator.sh,安装kubeoperator

sh deploy-kubeoperator.sh 
image.png image.png

当ansible脚本完成后,打开网页浏览器输入:http://172.16.12.249:8888

image.png

3.9 执行deploy-ceph.sh,安装ceph

cd /tmp/tmp/ceph/
sh deploy-ceph.sh
image.png

(大概持续18分钟左右)

如果 TASK [ceph-dashboard : create dashboard admin user] 执行报错,请忽略此异常

ceph dashboard 账户密码可以使用以下命令进行创建,创建后可以使用admin/admin登录dashboard查看和管理ceph

echo "admin" > /tmp/file
ceph dashboard ac-user-create admin -i /tmp/file administrator

另外需要注意的是安装结束时Install Ceph Dashboard : In Progress (0:02:20)表明当前dashboard还在初始化,需要等待9443端口启动后(使用以下命令检查)再进行下一步操作

netstat -ntpl | grep 9443

4. 配置kubeoperator

4.1 设置系统IP

image.png

填写kubeoperatorIP地址

4.2 创建主机登录凭据

image.png
image.png

创建主机登录所需的登录凭据

4.3 创建主机

image.png
image.png image.png

填写三台主机以后等待初始化,初始化完成后显示正常状态

4.3 创建kubesphere集群

4.3.1 创建资源

image.png

点击项目-单击kubeoperator管理员

image.png image.png image.png

添加资源主机

4.3.2 创建集群

image.png

集群-->添加

4.3.3 集群信息

image.png

4.3.4 高级选项

image.png

图片参数仅供参考,可以根据实际情况部署

4.3.5 节点信息

image.png

4.3.6 确认信息

image.png
image.png

等待集群安装,大概持续50分钟左右

如果有报错可以点击重试再试一次

4.3.7 查看日志

image.png

可以在这里面查到安装进度日志

image.png

4.4 登录kubesphere

http://10.10.12.171:30880

image.png image.png

5.KubeSphere配置

5.1 创建企业空间、项目、帐户和角色

本快速入门演示如何创建企业空间、角色和用户帐户。

5.1.1 创建账户

安装 KubeSphere 之后,您需要向平台添加具有不同角色的用户,以便他们可以针对自己授权的资源在不同的层级进行工作。一开始,系统默认只有一个帐户 admin,具有 platform-admin 角色。在本步骤中,您将创建一个帐户 user-manager,然后使用 user-manager 创建新帐户。

1.使用默认帐户和密码 (admin/P@88w0rd) 以 admin 身份登录 Web 控制台。

2.登录控制台后,点击左上角的平台管理,然后选择访问控制。

image.png
在帐户角色中,有如下所示四个可用的内置角色。接下来要创建的第一个帐户将被分配 users-manager 角色。
内置角色 描述
workspaces-manager 企业空间管理员,管理平台所有企业空间。
users-manager 用户管理员,管理平台所有用户。
platform-regular 平台普通用户,在被邀请加入企业空间或集群之前没有任何资源操作权限
platform-admin 平台管理员,可以管理平台内的所有资源。

内置角色由 KubeSphere 自动创建,无法编辑或删除。

3.在帐户管理中,点击创建。在弹出窗口中,提供所有必要信息(带有*标记),然后在角色字段选择 users-manager。请参考下图示例。

image.png

完成后,点击确定。新创建的帐户将显示在帐户管理中的帐户列表中。

4.切换帐户使用 user-manager 重新登录,创建如下四个新帐户,这些帐户将在其他的教程中使用。

帐户登出请点击右上角的用户名,然后选择登出

帐户 角色 描述
ws-manager workspaces-manager 创建和管理所有企业空间。
ws-admin platform-regular 管理指定企业空间中的所有资源(在此示例中,此帐户用于邀请新成员加入该企业空间)。
platform-admin platform-regular 创建和管理项目以及 DevOps 工程,并邀请新成员加入项目。
project-regular platform-regular project-regular 将由 project-admin 邀请至项目或 DevOps 工程。该帐户将用于在指定项目中创建工作负载、流水线和其他资源。

5.查看创建的四个帐户。

image.png

5.1.2 创建企业空间

您需要使用上一个步骤中创建的帐户 ws-manager 创建一个企业空间。作为管理项目、DevOps 工程和组织成员的基本逻辑单元,企业空间是 KubeSphere 多租户系统的基础。

如果您已启用多集群功能,您需要为企业空间分配一个或多个可用集群,以便项目可以在集群中创建。

image.png

实际角色名称的格式:<workspace name>-<role name>。例如,在名为 demo-workspace 的企业空间中,角色 viewer 的实际角色名称为 demo-workspace-viewer。

image.png
帐户 角色 描述
ws-admin workspace-admin 管理指定企业空间中的所有资源(在此示例中,此帐户用于邀请新成员加入该企业空间)。
platform-admin workspace-self-provisioner 创建和管理项目以及 DevOps 工程,并邀请新成员加入项目。
project-regular workspace-viewer project-regular 将由 project-admin 邀请至项目或 DevOps 工程。该帐户将用于在指定项目中创建工作负载、流水线和其他资源。

5.1.3 创建项目

在此步骤中,您需要使用在上一步骤中创建的帐户 project-admin 来创建项目。KubeSphere 中的项目与 Kubernetes 中的命名空间相同,为资源提供了虚拟隔离。有关更多信息,请参见命名空间

image.png image.png image.png image.png
image.png image.png

具有 operator 角色的用户是项目维护者,可以管理项目中除用户和角色以外的资源。

image.png image.png image.png

5.1.4 创建角色

完成上述步骤后,您已了解可以为不同级别的用户授予不同角色。先前步骤中使用的角色都是 KubeSphere 提供的内置角色。在此步骤中,您将学习如何创建自定义角色以满足工作需求。

image.png

点击编辑权限继续。

image.png image.png image.png

5.2 创建并部署WordPress

WordPress 简介

WordPress(使用 PHP 语言编写)是免费、开源的内容管理系统,用户可以使用 WordPress 搭建自己的网站。完整的 WordPress 应用程序包括以下 Kubernetes 对象,由 MySQL 作为后端数据库。

image.png

准备工作

您需要准备一个 project regular 帐户,并在一个项目中赋予该帐户 operator 角色(该用户已被邀请参加该项目)。有关更多信息,请参见5.1创建企业空间、项目、帐户和角色。

5.2.1 创建密钥

创建 MySQL 密钥

环境变量 WORDPRESS_DB_PASSWORD 是连接到 WordPress 数据库的密码。在此步骤中,您需要创建一个密钥来保存将在 MySQL Pod 模板中使用的环境变量。

image.png image.png

创建 WordPress 密钥
按照以上相同的步骤创建一个名为 wordpress-secret 的 WordPress 密钥,输入键 (Key) WORDPRESS_DB_PASSWORD 和值 (Value) 123456。创建的密钥显示在列表中,如下所示:

image.png

5.2.2 创建存储卷

image.png image.png

5.2.3 创建应用程序

添加 MySQL 后端组件

image.png image.png image.png image.png image.png image.png

在高级设置中,请确保内存限制不小于 1000 Mi,否则 MySQL 可能因内存不足而无法启动。

image.png image.png
完成后,点击 √ 保存设置并点击下一步继续。 image.png image.png

添加 WordPress 前端组件

image.png image.png image.png

点击 √ 保存配置,再点击下一步继续。

image.png image.png image.png image.png image.png image.png image.png

5.2.4 验证资源

工作负载中,分别检查部署有状态副本集中 wordpress-v1 和 mysql-v1 的状态。如果它们的运行状态如下图所示,就意味着 WordPress 已经成功创建。

image.png image.png

5.2.5 通过NodePort 访问WordPress

image.png image.png image.png image.png
上一篇下一篇

猜你喜欢

热点阅读