1. 首页
  2. > 商标注册 >

虚拟集群是什么意思(集群化是什么意思)


1. 前言

为了方便应用管理员后期维护,编写本手册。主要包含对项目、命名空间、应用、存储等的运维管理。


Kubernetes 集群中, 项目是高于命名空间级别的对象,就层级而言:


集群包含项目。


项目包含命名空间。


2.2. 项目介绍

项目允许您将多个命名空间作为一个实体集群来管理。之所以引入项目这个新对象,是因为在不包括项集群目的 Kubernetes 的基本版本中,诸如基于角色的访问权限或集群资源之类的特性被分配给各个命名空间。在多个命名空间需要相同访问权限集的集群中,将这些权限分配给每个单独的命名空间的操作是重复性的。即使所有命名空间都需要相同的权限,也无法在单个操作中将这些权限分配给所有命名空间。您必须重复地将这些权限分配给每个命名空间!而项目通过允许您在项目级别配置资源和访问权限来解决这个问题。然后项目中的每个命名空间继承这些资源和策略,因此您只需将它们分配给项目一次,而不必将它们分配给每个命名空间。


2.3. 命名空间介绍

您可以进一步将项目划分为不同的命名空间,这些命名空间是由物理集群支持的项目中的虚拟集群。如果需要项目和默认命名空间之外的另一级组织,可以使用多个命名空间来隔离应用程序和资源。


尽管您在项目级别分配资源,以便项目中的每个命名空间都可以使用这些资源化,但是您可以通过显式地将资源分配给命名空间来覆盖此继承。


可以直接分配给命名空间的资源包括:


工作负载、负载均衡、服务发现、持久存储卷、证化书、配置映射、镜像库凭证、密文


注:


虽然您可以为 Kubernetes 的基本版本中的命名空间分配基于角色的访问权限,但不能为命名空间分配角色。而应该在项目级别分配基于角色的访问。


2.4. 创建项目

选择“全局 -> 集群 -> 项目/命名空间”



选择“添加项目”



填写项目名称后即可创建一个新项目



2.5. 创建命名空间

选择“全局 -> 集群 -> 项目/命名空间”,选择对应项目的“添加命名空间”





按需填写并保存即可创建命名意思空间



2.6. 项目资源限制

在多个团队共享一个集群的情况下,一个团队可能会过度消耗可用的资源:CPU、内存、存储、服务,Kubernetes 对象(如 PODs 或 secrets)等等。为了防止这种过度消耗,可以设置资源配额,这是一种限制项目或命名空间可用资源的特性。


在添加项目和升级项目时,可以设置项目资源配额:





在资源类型中添加配额,根据实际情况为需要限制的资源设置一个值,没有设置配额的资源类型将默认没有限制。


在容器默认限制中,可以设置部署在该项目下的容器的默认配额。





3. 应用部署

3.1. 概述

用户通过 UI 交互页面进行应用部署。


3.2. 操作说明

具体操作说明如下:


3.2.1. 切换项目

通过页面左上角的下拉菜单切换到目标项目:



3.2.2. 部署服务

3.2.2.1. 基于 UI 创建

点击部署服务按钮进入服务部署界面。


l 填写应用名称


应用名称只允许最多 15 位的小写字母,数字或"-",并以字母或数字开头和结尾。


l 选择部署类型


点击更多选项查看更多部署类型:


a) 标准的 Pod 类型


b) DaemonSet 类型


c) StatefulSet 类型


d) Cron 类型


e) Job 类型


l 填写镜像名


l 命名空间


可选择已有的命名空间或者填写并创建新的命名空间





l 端口映射设置容器访问方式:


该步骤用于设置应用对外部暴露的访问方式,对于 HTTP 这类 L7 的应用建议使用 Ingress 方式,对于需要直接暴露端口的应用如 Database 等这类 L4 的应用,建议使用 HostPort 模式。填写容器端口并选择传输协议,如果需要固定对应的宿主机端口,则手动配置主机监听端口。


l 网络模式:


a) Nodeport:


此网络模式为全局模式,即集群中每台节点的 IP 端口都可以访问对应的服务,Pod 跨主机时通过 iptables 规则来转发数据;


b) Hostport:


类似于 Docker -p 的方式映射的端口,只有 Pod 所在的节点 IP 端口才可以访问;


c) ClusterIP:


为 service 配置 clust是什么er IP 地址; d) L4 负载均衡:此功能对应公有云的负载均衡器,内网环境或自定义云主机安装的集群请不要使用。





l 环境变量


该步骤用于为应用运行设置相关的环境变量,这里设置的环境变量会通过容器平台传递给应用,应用使用的环境变量各不相同,如何设置可以询问应用开发人员。按照 key=value 的方式输入,或者直接复制粘贴多行;


l 引用其他资源:


目前通过 UI 可以引用密文配置映射,FieldResource 可通过编辑 YAML 应用;


l 主机调度:


根据应用的需要配置相应的调度规则,默认按照 K8S 自动调度,可通过在主机上设置标签,通过标签来选择主机部署 POD。


l 健康检查


为应用配置健康检查,不健康的 Pod 将自动重建,保证服务的可用性。健康检查包含就绪检查和存活检查:


a) 就绪检查:检查 Pod 和容器的初始化状态,此阶段耗时较短;


b) 存活检查:


在 Pod 和容器初始化完成后,进入容器中程序的初始化阶段,此阶段检查应用最终是否正常运行,根据应用不同耗时会不同,但相对就绪检查会耗时更长。


l 数据卷


此功能为工作负载(应用)添加存储,您可以手动指定要添加的卷,或使用持久卷声明为工作负载动态创建卷,或从诸如 ConfigMap 之类的文件中读取要使用的卷的数据。


1. 临时卷


顾名思义,临时卷将会是临时的存储数据,当 Pod 被重建或删除时,相应卷也会被重建或删除,卷中的数据将会丢失。


添加步骤:


a) 选择添加临时卷





b) 配置 NFS 服务器参数,这里的路径为 NFS 服务器配置的共享存储路径。





c) 配置 NFS 服务器参数,这里的路径为 NFS 服务器配置的共享存储路径。





d) 上面步骤中最后点击确定后,设置卷名和容器路径。





2. 持久卷声明


l 升级策略支持四种策略:


a) 滚动: 先启动新 Pod,再停止旧 Pod(默认)


b) 滚动: 先停止旧 Pod,再启动新 Pod


c) 删除所有 Pod,然后重新开始


d) 自定义


点击右下角的显示高级选项


l 命令 (可选)


该步骤用于设置应用启动时执行的命令,多数情况下应用都有自己默认的启动命令,如果应用需要以特殊命令或参数启动可在该步骤进行设置,命令功能与 Docker 命令一一对应:


入口(Entrypoint):对应--entrypoin 命令;


命令(CMD):对应 Dcoker 原生命令中,镜像后跟的参数;


工作目录:对应 Docker --workdir 命令;


用户 UID:对应 Docker --user 命令;


控制台:对应 Docker -t 或者-i 命令;


自动重启:对应 Docker --restart 命令;


文件系统组:对应 Docker --group-add 命令;


停止超时:将会在容器上添加标签


annotation.io.kubernetes.pod.terminationGracePeriod=xx;


l 网络


l 使用主机网络


默认情况下,Pod 以及容器均使用 Overlay 网络。某些场景下,需要使用主机网络来保证容器的网络性能,那么可以通过此处设置。


l DNS 策略


默认 DNS 策略为集群优先,首先使用集群内部的 DNS 服务器,如果搜索的域名与 Pod 中的配置的搜索域不匹配,域名解析请求将会转发到 Pod 所在节点配置的 DNS 服务器。如果 Pod 使用的是主机网络,如果 DNS 策略设置为集群优先,那么 Pod 的 DNS 将会设置为主机的 DNS,这样会导致在 Pod 中无法解析集群内的服务。这个时候如果 Pod 要访问集群内部服务,需要选择 Cluster first with host


network(中文翻译有误)。设置为 DNS 为 Cluster first with host network 后,Pod 的 DNS 将会设置为集群 DNS,这样就可以正常访问集群服务。


l 标签/注释


标签可理解为一种标记,给 Pod 打上标签后,Pod 的查询或者 service 的选择可以通过此标签来过滤或者选择。Annotation,顾名思义,就是注解。Annotation 可以将 Kubernetes 资源对象关联到任意的非标识性元数据。使用客户端(如工具和库)可以检索到这些元数据。


l 安全/主机设置


l 镜像拉取策略


默认为总是拉取,Pod 在配置升级或者重建时都会执行镜像拉取操作。如果设置为不存在则拉取,那么只有主机上不存在相应镜像时才会去拉取。如果设置为从不,那么 Docker 将不会拉取镜像。对于镜像更新不频繁的应用,建议设置为不存在则拉取,这样可以减少镜像拉取检测的时候,加快启动速度。


l 特权模式


让容器以宿主机权限运行。


l 提升特权


功能特性,参考:


https://github虚拟.com/kubernetes/community/blob/master/contributors/design-proposals/auth/no-new-priv s.md


l CPU、内存预留设置预留值,主要是为调度服务进行调度计算。


l CPU、内存限制限制容器能使用的最大资源。


3.2.2.2. 基于 yaml 创建

在“集群-项目-工作负载”,点击导入 YAML 按钮进入导入 YAML 界面。复制 YAML 内容粘贴入框内或从文件读取 YAML 内容,点击导入进行创建。






应用管理

4.1. 概述

应用部署完成后,我们可以通过配置页面对应用进行重新配置和调整,也可以通过控制台、日志和监控页面了解应用的运行情况。


4.2. 应用搜索查询

通过左上角菜单切换到目标项目,然后选择“集群 -> 项目 -> 资源 -> 工作负载”进入应用界面。



页面右上角可以切换不同视图来展示应用:





页面右上角的搜索框,当应用较多时,可通过搜索框快速定位应用。





4.3. UI 查看应用配置

点击搜索到的应用名称即可查看应用的配置信息。




4.4. 应用配置更新

在应用列表的右侧,点击省略号菜单,在点击编辑:



修改好参数后,点击页面下方的升级:





4.5. 添加附加容器(Sidecar)

如果应用的架构更新,需要向原有的应用再添加一个容器,可以通过 Sidecar 的方式附加在原有的服务中运行。


在应用列表页或者在应用详情页面,点击右侧的省略号菜单,再点击添加 Sidecar。




在 Sidecar 配置页,填写容器名称以及其他参数,这些参数跟常规服务部署相同。Sidecar 类型中,默认选择标准容器。标准容器就跟平时运行的容器相同,Init 容器(Init Container)这种容器只运行一次,也就是容器中的进程启动完成容器就会退出,这种容器一般用于应用依赖的初始化。



4.6. 查看应用 yaml 配置文件

在应用列表页面,在页面右侧选择应用后面的省略号菜单,选择 “查看/编辑 YAML”。








4.7. 应用配置导出

在查看“查看/编辑 YAML”页面,点击页面右上角的下载按钮即可导出整个应用的配置。







4.8. 应用容器日志查询

进入工作负载详情界面,选择 Pod 右侧的省略号菜单,再点击“查看日志”。





如果 Pod 中有多个容虚拟器,那么可以从左上角切换容器:





4.9. Pod 终端登录

在应用列表页或者在应用详情页面,点击右侧是省略号菜单,选择“执行命令行”。








多容器的服务可通过左上角切换容器。

意思




4.10. 应用删除

当一个服务声明周期结束后,可通过 UI 将其删除是什么。在应用列表页或者在应用详情页面,点击右


侧省略号菜单,选择删除。







由于篇幅太长,下面的下次更新....



4.11. 应用灰度发布

4.11.1. 概述


4.11.2. 方案一操作


4.11.3. 方案二操作


5. 存储管理

5.1. 概述


5.2. 创建 NFS 存储提供者服务(provisioner)


5.3. 存储类管理 31


5.3.1. 进入存储管理页面


5.3.2. 查询存储类


5.3.3. 添加存储类


5.3.4. 编辑存储类


5.3.5. 删除存储类


5.4. 持久卷管理


5.4.1. 进入存储管理页面


5.4.2. 查询持久卷


5.4.3. 添加持久卷


6. 日志管理

7. 告警和通知管理

7.1. 设置通知


7.2. 配置告警


7.3. 通知发送的消息实例


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息