KubeSphere的基本使用操作

2024-03-22 23:52

本文主要是介绍KubeSphere的基本使用操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

KubeSphere的基本使用操作

  • 基本使用
    • 用户角色
    • 创建企业空间
    • 创建项目
  • 创建应用
    • 创建密钥
      • 创建MySQL密钥
      • 创建WordPress密钥
    • 创建存储卷
      • 创建MySQL存储卷
      • 创建Wordpress存储卷
    • 添加组件
      • 服务类型
      • 添加MySQL组件
      • 添加WordPress组件
    • 访问Wordpress

基本使用

用户角色

KubeSphere 中的权限控制分为平台、企业空间、项目三个层级,通过角色来控制用户在不同层级的资源访问权限。

用户的创建与角色分配,具体操作参考官方文档: 创建企业空间、项目、用户和平台角色

1.平台角色:

主要控制用户对平台资源的访问权限,如集群的管理、企业空间的管理、平台用户的管理等。

platform-self-provisioner:创建企业空间并成为所创建的企业空间的管理员platform-regular:被邀请加入企业空间之前无法访问任何资源platform-admin:管理 KubeSphere 平台上的所有资源

2.企业空间角色:

主要控制企业空间成员在企业空间下的资源访问权限,如企业空间下项目、DevOps 项目的管理等。

企业空间名称-viewer:查看企业空间中的所有资源企业空间名称-self-provisioner:查看企业设置、管理应用模板、创建项目和 DevOps 项目企业空间名称-regular:查看企业空间设置企业空间名称-admin:管理企业空间中的所有资源

3.项目角色:

主要控制项目下资源的访问权限,如工作负载的管理、流水线的管理等。

viewer:查看项目中的所有资源operator:管理项目中除用户和角色之外的资源admin:管理项目中的所有资源

创建企业空间

企业空间是用来管理项目、DevOps 项目、应用模板和应用仓库的一种逻辑单元。可以在企业空间中控制资源访问权限,也可以安全地在团队内部分享资源。

点击左上角的平台管理并选择访问控制。在企业空间页面,点击创建。
在这里插入图片描述
在这里插入图片描述
进入企业空间
在这里插入图片描述

创建项目

KubeSphere 中的项目即 Kubernetes 命名空间,用于将资源划分成互不重叠的分组。这一功能可在多个租户之间分配集群资源,是一种逻辑分区功能。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建应用

这里使用KubeSphere创建Wordpress(MySQL 和 Wordpress)应用为例,将其创建后发布至Kubernetes中,并在集群外访问Wordpress服务。

一个完整的Wordpress应用会包括以下Kubernetes对象,其中MySQL作为后端数据库,Wordpress本身作为前端提供浏览器访问。

在这里插入图片描述

创建密钥

创建MySQL密钥

MySQL的环境变量MYSQL_ROOT_PASSWORD即root用户的密码属于敏感信息,不适合以明文的方式表现在步骤中,因此以创建密钥的方式来代替该环境变量。创建的密钥将在创建 MySQL 的容器组设置时作为环境变量写入。

名称:作为 MySQL 容器中环境变量的名称,可自定义,例如 mysql-secret别名:别名可以由任意字符组成,帮助您更好的区分资源,例如 MySQL 密钥描述信息:简单介绍该密钥,如 MySQL 初始密码密钥设置页,填写如下信息,完成后点击 创建。类型:选择 默认(Opaque)DataData 键值对填写 MYSQL_ROOT_PASSWORD123456

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建WordPress密钥

同上,创建一个WordPress密钥,Data键值对填写 WORDPRESS_DB_PASSWORD123456

在这里插入图片描述

创建存储卷

创建MySQL存储卷

名称:mysql-pvc别名:mysql持久化存储卷描述信息:Wordpress PVC存储类型默认 local,访问模式和存储卷容量也可以使用默认值

在这里插入图片描述
在这里插入图片描述

创建Wordpress存储卷

名称:wordpress-pvc别名:Wordpress 持久化存储卷描述信息:Wordpress PVC存储类型默认 local,访问模式和存储卷容量也可以使用默认值

在这里插入图片描述
在这里插入图片描述

添加组件

创建自制应用,填写基本信息

在这里插入图片描述

服务类型

在KubeSphere中,存在两种服务类型,它们存在一定区别:

1.无状态服务:

特点:无状态服务不会在不同的调用之间存储任何数据。每个请求都是独立的,服务器不会记住之前的状态部署特点:对于无状态服务,Kubernetes 可以随时将 Pod 重新部署到其他节点,因为它们在功能上是可互换的示例:Web 服务器、API 服务等。这些服务可以水平扩展,因为它们的每个实例都是相同的,不依赖于特定节点上的状态

2.有状态服务:

特点:有状态服务需要在不同的调用之间保留某种形式的状态或数据。这可能包括数据库、缓存或需要持久化存储的服务部署特点:由于有状态服务持有数据,Kubernetes 部署有状态服务通常需要使用持久卷(Persistent Volumes)来确保数据的持久性和可靠性示例:数据库服务、消息队列、缓存服务等。这些服务通常需要稳定的网络标识符和持久存储,以便在重启或重新部署时保留状态

创建服务类型
在这里插入图片描述
选择创建服务的类型
在这里插入图片描述

添加MySQL组件

名称: mysql组件版本:v1别名:MySQL数据库负载类型:选择 有状态服务

在这里插入图片描述
点击添加容器镜像,镜像填写mysql:5.7,然后按回车键或点击 DockerHub
在这里插入图片描述
在搜索结果处选择对应镜像,点击 使用默认端口。
在这里插入图片描述
注意,在高级设置中确保内存限制 ≥ 1000 Mi,否则可能 MySQL 会因内存 Limit 不够而无法启动。
在这里插入图片描述
下滑至环境变量,在此勾选环境变量,然后选择 用配置文件或密钥,名称填写为 MYSQL_ROOT_PASSWORD,下拉框中选择密钥为mysql-secretMYSQL_ROOT_PASSWORD
在这里插入图片描述
点击 添加存储卷模板,为 MySQL创建一个 PVC 实现数据持久化。

存储卷名称:必填,起一个简洁明了的名称,便于用户浏览和搜索,此处填写 mysql-pvc存储类型:选择集群已有的存储类型,如 Local容量和访问模式:容量默认 10 Gi,访问模式默认 ReadWriteOnce (单个节点读写)挂载路径:存储卷在容器内的挂载路径,选择 读写,路径填写 /var/lib/mysql

在这里插入图片描述
点击添加存储卷,选择已有存储卷 mysql-pvc,访问模式改为读写,容器挂载路径 /var/lib/mysql。完成后点击
在这里插入图片描述
在这里插入图片描述

添加WordPress组件

操作步骤与添加MySQL组件步骤类似,以下是大概操作步骤:

名称: wordpress组件版本:v1别名:Wordpress前端负载类型:默认 无状态服务添加容器镜像,镜像填写wordpress:4.8-apache,使用默认端口下滑至环境变量,勾选环境变量,添加两个环境变量:点击引用配置文件或密钥,名称填写 WORDPRESS_DB_PASSWORD,选择在第一步创建的配置 (Secret) wordpress-secret和 WORDPRESS_DB_PASSWORD。点击添加环境变量,名称填写 WORDPRESS_DB_HOST,值填写 mysql,对应的是上一步创建MySQL服务的名称,否则无法连接MySQL数据库

主要是环境变量配置:
在这里插入图片描述
这个应用添加配置好了2个服务
在这里插入图片描述
接下来就是应用设置路由规则,这里暂不操作,具体操作参考文档:应用路由
在这里插入图片描述
最后点击创建,等待MySQL和WordPress组件信息都已添加完成
在这里插入图片描述
在这里插入图片描述
工作负载下查看 部署 和 有状态副本集 的状态,当它们都显示为 运行中,说明 WordPress 应用创建成功。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

访问Wordpress

访问Wordpress服务前,查看wordpress 服务,将外网访问设置为NodePort

点击更多操作→ 编辑外网访问,选择 NodePort,然后该服务将在每个节点打开一个节点端口,通过 任意节点IP:对应节点端口即可在浏览器访问WordPress。
在这里插入图片描述
在这里插入图片描述
更新成功,得到节点端口:30489
在这里插入图片描述
访问 http://{任意节点IP}:{节点端口} 即可访问WordPress网站
在这里插入图片描述

这篇关于KubeSphere的基本使用操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/836500

相关文章

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Mybatis Plus Join使用方法示例详解

《MybatisPlusJoin使用方法示例详解》:本文主要介绍MybatisPlusJoin使用方法示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录1、pom文件2、yaml配置文件3、分页插件4、示例代码:5、测试代码6、和PageHelper结合6

MySQL分区表的具体使用

《MySQL分区表的具体使用》MySQL分区表通过规则将数据分至不同物理存储,提升管理与查询效率,本文主要介绍了MySQL分区表的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、分区的类型1. Range partition(范围分区)2. List partition(列表分区)3. H

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏