Creating a simple application via image

本技术指南演示如何使用 Kubernetes 原生方法,在 中高效地创建、管理和访问容器化应用。

介绍

使用场景

  • 新用户希望了解 Kubernetes 平台上的基础应用创建流程
  • 实践演示核心平台能力,包括:
    • 项目/命名空间编排
    • 部署创建
    • 服务暴露模式
    • 应用可访问性验证

时间预估

预计完成时间:10-15 分钟

重要说明

  • 本技术指南聚焦于关键参数,详细高级配置请参考完整文档
  • 所需权限:
    • 项目/命名空间创建
    • 镜像仓库接入
    • 工作负载部署

前置条件

  • 具备 Kubernetes 架构及 平台概念的基础理解
  • 已按照平台搭建流程预先配置好项目

流程概览

序号操作描述
1创建命名空间建立资源隔离边界
2配置镜像仓库设置容器镜像来源
3通过 Deployment 创建应用创建 Deployment 工作负载
4通过 NodePort 暴露服务配置 NodePort 类型服务
5验证应用可访问性测试访问端点连通性

操作步骤

创建命名空间

命名空间提供逻辑隔离,用于资源分组和配额管理。

前置条件

  • 拥有创建、更新和删除命名空间权限(如管理员或项目管理员角色)
  • 已配置 kubectl 并具备集群访问权限

创建流程

  1. 登录后,进入 项目管理 > 命名空间

  2. 点击 创建命名空间

  3. 配置必要参数:

    参数说明
    集群目标集群,需为项目关联的集群
    命名空间唯一标识(自动带项目名前缀)
  4. 使用默认资源限制完成创建

配置镜像仓库

支持多种镜像来源策略:

方法一:通过工具链集成注册表

  1. 进入 管理员 > 工具链 > 集成

  2. 新建集成:

    参数要求
    名称唯一的集成标识
    API 端点注册表服务地址(HTTP/HTTPS)
    Secret预先存在或新建的凭证
  3. 将注册表分配到目标平台项目

方法二:使用外部注册表服务

  • 使用公开可访问的注册表 URL
  • 示例:nginx:latest

注册表访问与认证

集群成功拉取容器镜像需满足两点:

  • 网络可达性:集群节点必须具备访问容器注册表端点的出站网络权限。若连接失败,可能出现 ImagePullBackOff 或其他网络相关错误。
  • 认证:若注册表需要认证,需创建 ImagePullSecret 并在 Pod 或 Deployment 中引用。详细步骤请参见镜像拉取凭证文档

通过 Deployment 创建应用

Deployment 提供 Pod 副本集的声明式更新。

创建流程

  1. 容器平台视图中:
    • 使用命名空间选择器选择目标隔离边界
  2. 进入 工作负载 > Deployment
  3. 点击 创建 Deployment
  4. 指定镜像来源:
    • 选择集成注册表
    • 输入外部镜像 URL(如 nginx:latest
  5. 配置工作负载身份并启动

管理操作

  • 监控副本状态
  • 查看事件和日志
  • 检查 YAML 清单
  • 分析资源指标和告警

通过 NodePort 暴露服务

服务使 Pod 组具备网络访问能力。

创建流程

  1. 进入 网络 > 服务

  2. 点击 创建服务,配置参数:

    参数
    类型NodePort
    选择器目标 Deployment 名称
    端口映射服务端口:容器端口(如 8080:80
  3. 确认创建。

关键点

  • 集群可见的虚拟 IP
  • NodePort 分配范围(30000-32767)

内部路由通过提供统一的 IP 地址或主机端口,实现工作负载的服务发现。

  1. 点击 网络 > 服务

  2. 点击 创建服务

  3. 根据下表配置 详细信息,其他参数保持默认:

    参数说明
    名称输入服务名称
    类型NodePort
    工作负载名称选择之前创建的 Deployment
    端口服务端口:服务在集群内暴露的端口号,即 Port,例如 8080
    容器端口:服务端口映射的目标端口号(或名称),即 targetPort,例如 80
  4. 点击 创建,服务创建成功。

验证应用可访问性

验证方法

  1. 获取暴露端点信息:
    • 节点 IP:工作节点公网地址
    • NodePort:分配的外部端口
  2. 构造访问 URL:http://<Node_IP>:<NodePort>
  3. 预期结果:显示 Nginx 欢迎页面