k8s 如何設(shè)置端口映射

在 Kubernetes (k8s 中設(shè)置端口映射主要有兩種方式:Service 和 Ingress。以下是具體的操作步驟: 1. 使用 Service 設(shè)置端口映射...
在 Kubernetes (k8s) 中設(shè)置端口映射主要有兩種方式:Service 和 Ingress。以下是具體的操作步驟:
1. 使用 Service 設(shè)置端口映射
Service 是 Kubernetes 中的一種抽象,用于暴露 Pod 的網(wǎng)絡(luò)服務(wù)。下面是一個簡單的 Service 配置示例,用于設(shè)置端口映射:
```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 應(yīng)該被 Service 暴露。
`ports`: Service 暴露的端口列表,包含以下字段:
`protocol`: 端口協(xié)議,通常是 TCP 或 UDP。
`port`: Service 暴露的端口。
`targetPort`: Pod 中實際應(yīng)用的端口。
部署 Service:
```shell
kubectl apply -f my-service.yaml
```
2. 使用 Ingress 設(shè)置端口映射
Ingress 用于管理外部訪問到集群內(nèi)部服務(wù)的入口點。下面是一個簡單的 Ingress 配置示例,用于設(shè)置端口映射:
```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 規(guī)則列表,包含以下字段:
`host`: 訪問的域名。
`http`: HTTP 規(guī)則,包含以下字段:
`paths`: 路徑列表,包含以下字段:
`path`: 路徑。
`pathType`: 路徑類型,通常是 Prefix。
`backend`: 后端服務(wù),包含以下字段:
`service`: 服務(wù)名稱。
`port`: 端口。
部署 Ingress:
```shell
kubectl apply -f my-ingress.yaml
```
確保您的 DNS 或 hosts 文件中已配置域名解析到集群 IP 地址。
通過以上兩種方式,您可以在 Kubernetes 中設(shè)置端口映射,從而方便地訪問集群內(nèi)部服務(wù)。
本文鏈接:http:///bian/380763.html