本文主要介绍在虚拟节点上部署Ingress应用,使得集群无需创建新节点即可为该应用扩充无限容量,满足业务高峰低谷的弹性需求。
前提条件
您已经部署了一个虚拟节点。请参见虚拟节点。
您已经给namespace vk打上virtual-node-affinity-injection: enabled标签。请参见通过配置namespace标签的方式创建Pod。
操作步骤
- 登录容器服务管理控制台。
- 在 Kubernetes 菜单下,单击左侧导航栏中的,单击右上角的使用模板创建。
- 选择所需的集群和命名空间vk,选择样例模板或自定义,然后单击创建。
您可以使用如下 yaml 示例模板创建Ingress。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: coffee
spec:
replicas: 2
selector:
matchLabels:
app: coffee
template:
metadata:
labels:
app: coffee
spec:
containers:
- name: coffee
image: nginxdemos/hello:plain-text
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: coffee-svc
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
app: coffee
clusterIP: None
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: tea
spec:
replicas: 3
selector:
matchLabels:
app: tea
template:
metadata:
labels:
app: tea
spec:
containers:
- name: tea
image: nginxdemos/hello:plain-text
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: tea-svc
labels:
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
app: tea
clusterIP: None
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: cafe-ingress
spec:
rules:
- host: cafe.example.com
http:
paths:
- path: /tea
backend:
serviceName: tea-svc
servicePort: 80
- path: /coffee
backend:
serviceName: coffee-svc
servicePort: 80