同时有name: http
时间: 2023-08-01 16:10:52 浏览: 147
如果 Service 中同时存在 `name` 和 `number` 两种定义方式,可以优先使用 `name` 来指定端口名,例如:
```yaml
apiVersion: v1
kind: Service
metadata:
name: example-service
spec:
selector:
app: example-app
ports:
- name: http
protocol: TCP
port: 80
targetPort: 8080
- port: 8080
targetPort: 8080
```
在上述示例中,Service 中同时定义了 `name` 为 `http` 的端口和 `port` 为 `8080` 的端口,优先使用 `name` 来指定端口名。在 Ingress 规则中,仍然可以使用 `port.name` 来指定端口名为 `http`,也可以使用 `port.number` 来指定端口号为 `8080`。例如:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /foo
pathType: Prefix
backend:
service:
name: example-service
port:
name: http
```
或者:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /foo
pathType: Prefix
backend:
service:
name: example-service
port:
number: 8080
```
阅读全文