在前两篇简单操作了阿里上面的ACK服务,今天要分享的是使用ingress,怎麽用一个IP去分享多个服务出去,让使用更加方便
Ingress
使用Service和Ingress都将Kubernetes集群内的多个服务公开给外部客户端。其关键在於IP地址,如果使用 Service,每个Kubernetes服务都需要一个独立的IP地址,但在使用Ingress时,只要用一个公共IP地址就能将Kubernetes集群内的多个服务公开给外部客户端
一样要先创建集群,参考(DAY25)的操作范例,唯一不一样的地方要在第一页额外去勾选EIP连接点
vim nginx.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.12.2
vim tomcat.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: tomcat
spec:
replicas: 2
selector:
matchLabels:
app: tomcat
template:
metadata:
labels:
app: tomcat
spec:
containers:
- name: tomcat
image: tomcat:8.5
kubectl create -f nginx.yaml
kubectl create -f tomcat.yaml
4. 创建nginx的yaml
vim nginx-serivce.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
ports:
- port: 81
targetPort: 80
selector:
app: nginx
vim tomcat-serivce.yaml
apiVersion: v1
kind: Service
metadata:
name: tomcat-service
spec:
ports:
- port: 82
targetPort: 8080
selector:
app: tomcat
kubectl create -f nginx-serivce.yaml
kubectl create -f tomcat-serivce.yaml
7. 检查一下pod是否正常
kubectl get pods
8. 再来我们要建立Ingress,根据域名来访问这些服务
vim ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
spec:
rules:
- host: nginx.a.com
http:
paths:
- path: /
backend:
serviceName: nginx-service
servicePort: 81
- host: tomcat.b.com
http:
paths:
- path: /
backend:
serviceName: tomcat-service
servicePort: 82
kubectl create -f ingress.yaml
kubectl get ingress
vim /etc/hosts
curl nginx.a.com
curl tomcat.b.com
这样就完成了透过同一IP去输出两个网站,後面如果要删除资源,可以依照(DAY26)後面的分享去删除,可以依照这简单lab再去做变化,就可以得到更深的了解
<<: Day24 NiFi 延伸应用 - Slack & Email
Chap.II Machine Learning 机器学习 https://yourfreetemp...
前言 对图形的搜寻有了基本观念之後,接下来要在图形的边加入权重的部分,这样就能找到最短路径 生活常识...
因Flex Message目前无法直接发送讯息至5000人社群 想请教各位大大 如何使用LIFF制作...
随机决策树为随机生成许多决策树, 利用取袋法来取出选中的决策树, 而每棵树的都具有执行结果, 每棵树...
早上七点半的闹钟,大概是进入职场刚开始比较不习惯的事情(这应该是要报到的前端新鲜人的心情),今天的内...