如果您创建的Ingress没有通过Annotation指定SLB ID,ASK会自动生成一个公网SLB实例。本文介绍在该场景下如何使用该SLB提供Ingress的转发功能。
操作步骤
步骤一:部署服务
- 创建并拷贝以下内容到cafe-service.yaml文件中,并执行
kubectl apply -f cafe-service.yaml
命令,分别部署一个coffee服务和tea服务。apiVersion: apps/v1
kind: Deployment
metadata:
name: coffee
spec:
replicas: 2
selector:
matchLabels:
app: coffee
template:
metadata:
labels:
app: coffee
spec:
containers:
- name: coffee
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
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: apps/v1
kind: Deployment
metadata:
name: tea
spec:
replicas: 1
selector:
matchLabels:
app: tea
template:
metadata:
labels:
app: tea
spec:
containers:
- name: tea
image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
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
预期输出:
deployment "coffee" created
service "coffee-svc" created
deployment "tea" created
service "tea-svc" created
- 执行以下命令查看服务状态。
kubectl get svc,deploy
预期输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/coffee-svc ClusterIP <none> <none> 80/TCP 1m
svc/tea-svc ClusterIP <none> <none> 80/TCP 1m
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/coffee 2 2 2 2 1m
deploy/tea 1 1 1 1 1m
步骤二:配置Ingress
- 创建并拷贝以下内容到cafe-ingress.yaml文件中,并执行
kubectl apply -f cafe-ingress.yaml
命令,通过Ingress配置coffee和tea服务对外暴露的域名和path路径。apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cafe-ingress
spec:
ingressClassName: slb
rules:
# 配置七层域名。
- host: foo.bar.com
http:
paths:
# 配置Context Path。
- path: /tea
backend:
service:
name: tea-svc
port:
number: 80
pathType: ImplementationSpecific
# 配置Context Path
- path: /coffee
backend:
service:
name: coffee-svc
port:
number: 80
pathType: ImplementationSpecific
预期输出:
ingress "cafe-ingress" created
- 执行以下命令获取SLB实例IP。
kubectl get ing
预期输出:
NAME HOSTS ADDRESS PORTS AGE
cafe-ingress foo.bar.com 139.168.XX.XX 80 1m
步骤三:访问服务
说明 目前需要您自行将域名解析到SLB实例IP上。
本例在域名中添加一条DNS域名解析规则,用于测试服务访问。建议您在工作环境中对域名进行备案。
139.168.XX.XX foo.bar.com
访问coffee服务。
访问tea服务。