# 创建 foo 应用的RS资源
apiVersion: apps/v1
# 资源类型
kind: ReplicaSet
metadata:
# RS名称
name: my-rs-foo-app
spec:
# 副本数量
replicas: 1
# 标签选择器
selector:
matchLabels:
app: foo-app
# Pod 模板
template:
metadata:
# 标签信息
labels:
app: foo-app
spec:
# 容器信息
containers:
- name: my-foo-app
image: hashicorp/http-echo:0.2.3
args:
- "-text=this is foo app"
# 仅用于展示容器所使用的端口
ports:
- containerPort: 5678
---
# 创建 foo 应用的Service资源
kind: Service
apiVersion: v1
metadata:
name: my-service-foo-app
spec:
# Service类型
type: NodePort
selector:
app: foo-app
ports:
- port: 11111 # 服务监听端口
targetPort: 5678 # 服务将请求转发到Pod的目标端口
# 集群节点端口, 可通过集群中任一节点的该端口号访问该服务
nodePort: 31119
---
# 创建 bar 应用的RS资源
apiVersion: apps/v1
kind: ReplicaSet
metadata:
# RS名称
name: my-rs-bar-app
spec:
# 副本数量
replicas: 1
# 标签选择器
selector:
matchLabels:
app: bar-app
# Pod 模板
template:
metadata:
# 标签信息
labels:
app: bar-app
spec:
# 容器信息
containers:
- name: my-bar-app
image: hashicorp/http-echo:0.2.3
args:
- "-text=this is bar app"
# 仅用于展示容器所使用的端口
ports:
- containerPort: 5678
---
# 创建 bar 应用的Service资源
kind: Service
apiVersion: v1
metadata:
name: my-service-bar-app
spec:
# Service类型
type: NodePort
selector:
app: bar-app
ports:
- port: 22222 # 服务监听端口
targetPort: 5678 # 服务将请求转发到Pod的目标端口
# 集群节点端口, 可通过集群中任一节点的该端口号访问该服务
nodePort: 32229
---
# 创建 Ingress 资源
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: aaron.ingress.com
http:
paths:
# 对aaron.ingress.com/foo的请求 将会转发到 名为my-service-foo-app的服务
- pathType: Exact
path: /foo
backend:
# 服务名称、端口
service:
name: my-service-foo-app
port:
number: 11111
# 对aaron.ingress.com/bar的请求 将会转发到 名为my-service-bar-app的服务
- pathType: Exact
path: /bar
backend:
# 服务名称、端口
service:
name: my-service-bar-app
port:
number: 22222
---
# 创建一个内置了bash、curl工具的Pod, 用于测试
apiVersion: v1
kind: Pod
metadata:
# Pod 名称
name: my-pod-bootcamp
spec:
# 容器信息
containers:
- name: my-bootcamp
# 镜像信息
image: jocatalin/kubernetes-bootcamp:v1
# 仅用于展示容器所使用的端口
ports:
- containerPort: 8080
protocol: TCP
# kubectl create ingress mypods-many-ingress --rule=www.mypods-many.com/mypods-many=mypods-many-svc:80 --class=nginx --dry-run=client -o yaml
08-04
140
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-16
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交