本例演示如何通过一个编排模板创建Web应用,包含一个Deployment和Service,后端Deployment会创建Pod资源对象,Service会绑定到后端Pod上,形成一个完整的Web应用。
前提条件
- 已创建Windows节点。具体操作,请参见创建Windows节点池。
- 在容器服务Kubernetes模板编排中,您需要自己定义一个应用运行所需的资源对象,通过标签选择器等机制,将资源对象组合成一个完整的应用。
操作步骤
- 登录容器服务管理控制台。
- 在控制台左侧导航栏,单击集群。
- 在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏,选择 。
- 在无状态页面单击右上角的使用YAML创建资源。
- 对模板进行相关配置,完成配置后单击创建。
- 命名空间:在创建页面的顶部选择资源对象所属的命名空间,默认是Default。除了节点、持久化存储卷等底层计算资源以外,大多数资源对象需要作用于命名空间。
- 示例模板:阿里云容器服务提供了多种资源类型的Kubernetes YAML示例模板,让您快速部署资源对象。您可以根据Kubernetes YAML编排的格式要求自主编写,来描述您想定义的资源类型。
- 添加工作负载:您可通过此功能快速定义一个YAML模板。
- 使用已有模板:您可将已有编排模板导入到模板配置页面。
- 保存模板:您可以保存设置好的编排模板。
下面是一个Web应用的示例编排,基于容器服务内置的编排模板。通过该编排模板,即可快速创建一个属于Web应用的Deployment。说明 容器服务支持Kubernetes YAML编排,支持通过---
符号将资源对象分隔,从而通过一个模板创建多个资源对象。apiVersion: v1 kind: Service metadata: labels: app: web-windows name: web-windows spec: type: LoadBalancer ports: - port: 80 protocol: TCP targetPort: 80 selector: app: web-windows --- 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 terminationGracePeriodSeconds: 30 tolerations: - key: os value: windows affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/os operator: In values: - windows containers: # 根据不同集群的地域,您需要修改以下镜像地址中的地域<cn-hangzhou>信息。 - image: registry-vpc.cn-hangzhou.aliyuncs.com/acs/sample-web-windows:v1.0.1 name: windows ports: - containerPort: 80 protocol: TCP
说明- 镜像
registry-vpc.{region}.aliyuncs.com/acs/sample-web-windows
是阿里云容器服务提供的Windows Web容器示例镜像(基于mcr.microsoft.com/windows/nanoserver)。 - 也可使用微软提供的ASP.NET示例镜像:
mcr.microsoft.com/dotnet/samples:aspnetapp
。更多信息,请参见.NET Samples。
- 单击创建后,会提示部署状态信息。成功后,返回无状态页面可以查看新创建的Web应用。
- 访问Web应用。
- 在控制台左侧导航栏,单击集群。
- 在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏,选择 。
- 在服务页面您可以看到web-windows服务已成功部署,并暴露了外部入口。
- 单击web-windows服务的外部端点,可以访问到Web应用。
- 修改访问URL为
name.html
,可以看到部署应用的容器的hostname
。