通过应用中心创建应用可以直观地查看所有Kubernetes资源的部署状态与变化。根据数据源的来源不同,创建应用的方式也不同。本文介绍使用编排模板在应用中心创建应用。

前提条件

已创建Kubernetes集群。具体操作,请参见 创建Kubernetes托管版集群

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,选择多集群 > 应用中心
  3. 应用中心页面单击创建应用
  4. 应用来源配置向导页面配置参数。
    1. 安装应用发布组件区域选择集群,然后单击开始安装
      说明 仅首次安装应用需要执行此步骤。
    2. 应用来源区域单击YAML模板
    3. 单击下一步
  5. 应用配置配置向导页面中设置参数。
    1. 设置应用名称应用描述
    2. 设置模板,您可以选择已有模板或者新建模板, 本文以新建模板为例。
      1. 单击新建模板页签,然后单击右上角的通过YAML添加
      2. 将以下内容复制到文本框中,然后单击确定
        apiVersion: apps/v1
        kind: Deployment
        metadata:
          name: demo
          labels:
            app: demo
        spec:
          minReadySeconds: 5
          revisionHistoryLimit: 5
          progressDeadlineSeconds: 60
          strategy:
            rollingUpdate:
              maxUnavailable: 1
            type: RollingUpdate
          selector:
            matchLabels:
              app: demo
          template:
            metadata:
              annotations:
                prometheus.io/scrape: "true"
                prometheus.io/port: "9797"
              labels:
                app: demo
            spec:
              containers:
              - name: demo
                image: registry.cn-hangzhou.aliyuncs.com/acs/rollouts-demo:red
                imagePullPolicy: IfNotPresent
                ports:
                - name: http
                  containerPort: 8080
                  protocol: TCP
                readinessProbe:
                  tcpSocket:
                    port: 8080
                  initialDelaySeconds: 5
                  timeoutSeconds: 5
                resources:
                  limits:
                    cpu: 2000m
                    memory: 512Mi
                  requests:
                    cpu: 100m
                    memory: 64Mi
        ---
        apiVersion: v1
        kind: Service
        metadata:
          name: demo-svc
        spec:
          selector:
            app: demo
          ports:
            - protocol: TCP
              port: 80
              targetPort: 8080
        ---
        apiVersion: networking.k8s.io/v1
        kind: Ingress
        metadata:
          name: demo
          labels:
            app: demo
        spec:
          rules:
            - host: app.demo.example.com
              http:
                paths:
                  - backend:
                      serviceName: demo-svc
                      servicePort: 80
    3. 单击下一步
  6. 发布配置配置向导页面中设置参数。
    1. 发布配置区域选择发布方式,可选全量发布灰度发布
      说明 第一次发布应用时只能选择 全量发布,后续对应用进行更新迭代时,可以选择 全量发布灰度发布
    2. 可选集群区域单击集群左侧的添加,在目标集群区域可以看到选择的集群,然后在目标集群区域选择应用要发布的命名空间
      说明 如果没有开通公网访问的集群,需要为API Server绑定EIP,以开启公网访问能力。具体操作,请参见 通过公网访问集群API Server
    3. 单击开始发布
    4. 发布确认对话框单击确定
      发布日志配置向导中可以看到发布应用的进度。
  7. 发布日志配置向导页面中单击完成

结果验证

  1. 获取应用的端点。
    1. 登录容器服务管理控制台
    2. 在控制台左侧导航栏中,单击集群
    3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
    4. 在集群管理页左侧导航栏中,选择网络 > 路由
    5. 路由页面查看demo的端点。
  2. hosts文件输入以下内容。
    <端点> app.demo.example.com 
  3. 在浏览器中访问app.demo.example.com
    浏览器显示以下页面,说明应用部署成功。 red