前提条件

创建一个 kubernetes 集群,参见创建 Kubernetes 集群

背景信息

在容器服务 kubernetes 模板编排中,您需要自己定义一个应用运行所需的资源对象,通过标签选择器等机制,将资源对象组合成一个完整的应用。

本例演示如何分步创建 nginx 应用。首先通过部署 deployment 创建后端 pod 资源对象,然后部署 service 将其绑定到后端 pod 上,形成一个完整的 nginx 应用。

操作步骤

  1. 登录容器服务管理控制台
  2. 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 部署,进入部署列表页面。
  3. 单击页面右上角的使用模板创建


  4. 对模板进行相关配置,完成配置后单击创建
    • 集群:选择目标集群。资源对象将部署在该集群内。
    • 命名空间:选择资源对象所属的命名空间,默认是 default。除了节点、持久化存储卷等底层计算资源以外,大多数资源对象需要作用于命名空间。
    • 示例模板:阿里云容器服务提供了多种资源类型的 Kubernetes yaml 示例模板,让您快速部署资源对象。您可以根据 Kubernetes Yaml 编排的格式要求自主编写,来描述您想定义的资源类型。


    下面是一个 nginx 应用的 deployment 示例编排,通过该编排模板,即可快速创建一个属于 nginx 应用的 deployment 。

    apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
     kind: Deployment
     metadata:
        name: nginx-deployment
        labels:
          app: nginx
     spec:
        replicas: 2
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: nginx:1.7.9 # replace it with your exactly <image_name:tags>
              ports:
              - containerPort: 80
  5. 单击创建后。会提示部署状态信息。成功后,单击Kubernetes 控制台前往控制台查看部署进度。


  6. 再返回使用模板页面,部署一个 Service 资源对象。

    容器服务提供了一个 nginx 应用的 service 示例模板。在本示例中,您只需要对该模板进行简单修改,将访问类型修改为 LoadBalancer,即可创建一个绑定后端 pod 的 service,让您从浏览器进行访问。

    说明 本示例中,pod 和 service 编排中 selector 的值都是 nginx,因此不必修改,实际情况下您需要进行相应修改。
    apiVersion: v1     # for versions before 1.8.0 use apps/v1beta1
     kind: Service
     metadata:
       name: my-service1        #TODO: to specify your service name
       labels:
         app: nginx
     spec:
       selector:
         app: nginx             #TODO: change label selector to match your backend pod
       ports:
       - protocol: TCP
         name: http
         port: 30080            #TODO: choose an unique port on each node to avoid port conflict
         targetPort: 80
       type: LoadBalancer        ##本例中将type从Nodeport修改为LoadBalancer
  7. 将上述编排内容输入到模板中,然后单击创建。会提示部署状态信息。若成功后,单击Kubernetes 控制台前往控制台查看服务部署的进度。


  8. 在 kubernetes Dashboard 里,您可以看到 my-service1 服务已成功部署,并暴露了外部入口。单击外部入口的访问地址。


  9. 您可以在浏览器中访问 nginx 服务欢迎页面。