port: 80 targetPort: 80
protocol: TCP
selector:
app: tea
clusterIP: None
kubectl apply -f cafe-service.yaml
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 80/TCP 1m
svc/tea-svc ClusterIP 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
2、配置 Ingress
通过Ingress配置coffee service和tea service对外暴露的域名和Path路径:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: cafe-ingress
spec:
rules:
部署完成后,ADDRESS为自动生成的SLB实例IP
kubectl get ing
NAME HOSTS ADDRESS PORTS AGE
cafe-ingress foo.bar.com 139.224.76.211 80 1m
3、测试服务访问
注意:目前我们需要自行将域名解析到SLB实例IP上
apiVersion: v1
kind: Service
metadata:
name: tomcat
spec:
ports:
port: 8080 protocol: TCP
targetPort: 8080
selector:
run: tomcat
clusterIP: None
kubectl apply -f tomcat-service.yml
deployment "tomcat" created
service "tomcat" created
部署完成后
kubectl get svc,deploy tomcat
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
svc/tomcat ClusterIP 8080/TCP 1m
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deploy/tomcat 1 1 1 1 1m
2、申请SLB实例
我们在集群同Region下自行申请一个性能保障型SLB实例(如slb.s2.small),可以是私网也可以是公网(依据具体需求)。
3、配置TLS证书
注意:系统自动依据第一个创建的Ingress的TLS证书来初始化SLB的HTTPS默认证书,若需要修改HTTPS默认证书,可在SLB控制台自行修改;若需配置多个证书,可在SLB控制台HTTPS监听扩展域名下自行添加
部署完成后,ADDRESS为指定的SLB IP地址
kubectl get ing tomcat-ingress
NAME HOSTS ADDRESS PORTS AGE
tomcat-ingress bar.foo.com 47.101.20.67 80, 443 1m
5、测试服务访问
注意:目前我们需要自行将域名解析到SLB实例IP上