通过镜像创建简单应用

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

简介

使用场景

  • 希望了解 Kubernetes 平台上基本应用创建工作流的新用户
  • 演示平台核心功能的实践练习,包括:
    • Project/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. 登录,然后转到 Project Management > Namespaces

  2. 选择 Create Namespace

  3. 配置必要参数:

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

配置镜像仓库

支持多种镜像来源策略:

方法 1:通过 Toolchain 集成 Registry

  1. 访问 Administrator > Toolchain > Integration

  2. 发起新集成:

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

方法 2:外部 Registry 服务

  • 使用公开可访问的 Registry URL(例如 Docker Hub)
  • 示例:index.docker.io/library/nginx:latest

验证要求

  • 集群网络必须能够访问 Registry 端点

通过 Deployment 创建应用

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

创建流程

  1. Container Platform 视图中:
    • 使用 namespace 选择器选择目标隔离边界
  2. 转到 Workloads > Deployments
  3. 单击 Create Deployment
  4. 指定镜像源:
    • 选择已集成的 Registry,或
    • 输入外部镜像 URL(例如 index.docker.io/library/nginx:latest
  5. 配置工作负载标识并启动

管理操作

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

通过 NodePort 暴露 Service

Service 支持 Pod 组的网络访问。

创建流程

  1. 转到 Networking > Services

  2. 单击 Create Service 并配置以下参数:

    参数
    TypeNodePort
    Selector目标 Deployment 名称
    Port MappingService 端口:Container 端口(例如 8080:80
  3. 确认创建。

重要信息

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

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

  1. 单击 Network > Service

  2. 单击 Create Service

  3. 根据以下参数配置 Details,其他参数保持默认值。

    参数描述
    Name输入 Service 的名称。
    TypeNodePort
    Workload Name选择之前创建的 Deployment
    PortService Port:Service 在集群内暴露的端口号,即 Port,例如 8080
    Container Port:由 Service 端口映射的目标端口号(或名称),即 targetPort,例如 80
  4. 单击 Create。此时,Service 已成功创建。

验证应用可访问性

验证方法

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