本文介绍如何在Windows节点中通过编排模板创建Web应用,该Web应用通过Deployment类型的工作负载创建Pod资源对象。

前提条件

边缘集群中已经存在Windows节点。关于Windows节点如何接入边缘集群,请参见将Windows节点接入ACK@Edge集群

背景信息

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

使用限制

Windows节点上目前只能部署HostNetwork网络模式的工作负载。

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择工作负载 > 无状态
  5. 无状态页面,单击右上角的使用YAML创建资源
  6. 对模板进行相关配置,完成配置后单击创建
    • 命名空间:在创建页面的顶部选择资源对象所属的命名空间,默认是Default。除了节点、持久化存储卷等底层计算资源以外,大多数资源对象需要作用于命名空间。
    • 示例模板:阿里云容器服务提供了多种资源类型的Kubernetes YAML示例模板,让您快速部署资源对象。您可以根据Kubernetes YAML编排的格式要求自主编写,来描述您想定义的资源类型。
    • 添加工作负载:您可通过此功能快速定义一个YAML模板。
    • 使用已有模板:您可将已有编排模板导入到模板配置页面。
    • 保存模板:您可以保存设置好的编排模板。

    下面是一个部署在Windows节点上的Web应用的示例编排。通过以下编排模板,即可快速创建一个Web应用。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: web-windows
      name: web-windows
    spec:
      selector:
        matchLabels:
          app: web-windows
      template:
        metadata:
          labels:
            app: web-windows
        spec:
          restartPolicy: Always
          hostNetwork: true
          terminationGracePeriodSeconds: 30
          tolerations:
          - key: os
            value: windows
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                - matchExpressions:
                  - key: kubernetes.io/os
                    operator: In
                    values:
                    - windows
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/acs/sample-web-windows:v1.0.1
              name: windows
              ports:
              - containerPort: 80
                protocol: TCP
  7. 单击创建后,会提示部署状态信息。应用部署成功后,返回无状态页面可以查看创建的Web应用。
  8. 在Windows节点打开Windows PowerShell控制台,执行以下命令访问Web应用。
    关于如何打开Windows PowerShell控制台,请参见安装Windows PowerShell
    curl 127.0.0.1

    预期输出:

    访问Web应用