k8s 如何设置端口映射
- 编程技术
- 2025-01-29 04:38:55
- 1
在 Kubernetes (k8s 中设置端口映射主要有两种方式:Service 和 Ingress。以下是具体的操作步骤: 1. 使用 Service 设置端口映射...
在 Kubernetes (k8s) 中设置端口映射主要有两种方式:Service 和 Ingress。以下是具体的操作步骤:
1. 使用 Service 设置端口映射
Service 是 Kubernetes 中的一种抽象,用于暴露 Pod 的网络服务。下面是一个简单的 Service 配置示例,用于设置端口映射:
```yaml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
protocol: TCP
port: 80
targetPort: 8080
```
解释:
`name`: Service 的名称。
`selector`: Pod 选择器,用于选择哪些 Pod 应该被 Service 暴露。
`ports`: Service 暴露的端口列表,包含以下字段:
`protocol`: 端口协议,通常是 TCP 或 UDP。
`port`: Service 暴露的端口。
`targetPort`: Pod 中实际应用的端口。
部署 Service:
```shell
kubectl apply -f my-service.yaml
```
2. 使用 Ingress 设置端口映射
Ingress 用于管理外部访问到集群内部服务的入口点。下面是一个简单的 Ingress 配置示例,用于设置端口映射:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
host: my-app.example.com
http:
paths:
path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80
```
解释:
`name`: Ingress 的名称。
`rules`: Ingress 规则列表,包含以下字段:
`host`: 访问的域名。
`http`: HTTP 规则,包含以下字段:
`paths`: 路径列表,包含以下字段:
`path`: 路径。
`pathType`: 路径类型,通常是 Prefix。
`backend`: 后端服务,包含以下字段:
`service`: 服务名称。
`port`: 端口。
部署 Ingress:
```shell
kubectl apply -f my-ingress.yaml
```
确保您的 DNS 或 hosts 文件中已配置域名解析到集群 IP 地址。
通过以上两种方式,您可以在 Kubernetes 中设置端口映射,从而方便地访问集群内部服务。
本文链接:http://www.xinin56.com/bian/380763.html
下一篇:郑州大学有音乐系吗