k8s 如何設置端口映射

在 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.resource-tj.com/bian/380763.html
下一篇:鄭州大學有音樂系嗎