通过镜像创建简单应用

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

简介

使用场景

  • 希望了解 Kubernetes 平台上基本应用创建工作流的新用户
  • 演示平台核心功能的实践练习,包括:
    • 项目/Namespace 编排
    • 创建 Deployment
    • Service 暴露模式
    • 验证应用可访问性

所需时间

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

重要说明

  • 本技术指南专注于必要参数;有关高级配置,请参阅完整文档
  • 所需权限:
    • 创建 Project/Namespace
    • 集成镜像仓库
    • 部署工作负载

前提条件

  • 基本了解 Kubernetes 架构和 平台概念
  • 已按照平台建立操作步骤预配置项目

工作流概览

编号操作描述
1创建 Namespace建立资源隔离边界
2配置镜像仓库设置容器镜像源
3通过 Deployment 创建应用创建 Deployment 工作负载
4通过 NodePort 暴露 Service配置 NodePort Service
5验证应用可访问性测试端点连通性

操作步骤

创建 Namespace

Namespace 为资源分组和配额管理提供逻辑隔离。

前提条件

  • 具有创建、更新和删除 Namespace 的权限(例如 Administrator 或 Project Administrator 角色)
  • 已配置集群访问权限的 kubectl

创建流程

  1. 登录,然后导航至 项目管理 > Namespace

  2. 选择 创建 Namespace

  3. 配置必要参数:

    参数描述
    Cluster项目关联集群中的目标集群
    Namespace唯一标识符(自动添加项目名称前缀)
  4. 使用默认资源限制完成创建

配置镜像仓库

支持多种镜像来源策略:

方法 1:通过 Toolchain 集成 Registry

  1. 访问 管理员 > Toolchain > 集成

  2. 启动新集成:

    参数要求
    名称唯一的集成标识符
    API EndpointRegistry 服务 URL(HTTP/HTTPS)
    Secret已存在或新创建的凭证
  3. 将 Registry 分配给目标平台项目

方法 2:外部 Registry 服务

  • 使用公开可访问的 Registry URL
  • 示例:nginx:latest

Registry 访问和身份验证

要使集群成功拉取容器镜像,必须满足两个关键要求:

  • 网络可访问性:集群节点必须能够通过出站(egress)网络访问容器 Registry 的端点。如果连接失败,可能会遇到 ImagePullBackOff 或其他网络相关错误。
  • 身份验证:如果 Registry 要求身份验证,请创建一个 ImagePullSecret,并在 Pod 或 Deployment 中引用它,以便集群能够拉取镜像。有关分步说明,请参阅镜像拉取 Secret 文档

通过 Deployment 创建应用

Deployment 为 Pod ReplicaSet 提供声明式更新。

创建流程

  1. Container Platform 视图中:
    • 使用 Namespace 选择器选择目标隔离边界
  2. 导航至 工作负载 > Deployment
  3. 点击 创建 Deployment
  4. 指定镜像源:
    • 选择已集成的 Registry,或
    • 输入外部镜像 URL(例如 nginx:latest
  5. 配置工作负载标识并启动

管理操作

  • 监控 Replica 状态
  • 查看事件和日志
  • 检查 YAML manifest
  • 分析资源指标和告警

通过 NodePort 暴露 Service

Service 可让 Pod 组通过网络访问。

创建流程

  1. 导航至 网络 > Service

  2. 点击 创建 Service 并设置参数:

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

重要事项

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

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

  1. 点击 网络 > Service

  2. 点击 创建 Service

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

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

验证应用可访问性

验证方法

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