阿里云端口映射是指在阿里云上配置将外部访问请求映射到容器内部的指定端口,实现对容器内服务的访问。在Kubernetes(K8S)集群中,我们可以通过Service和Ingress来实现端口映射。下面将详细介绍如何在阿里云上进行端口映射的操作流程,并给出相应的代码示例。

### 操作流程

下表展示了在阿里云上实现端口映射的操作步骤:

| 步骤编号 | 操作描述 |
| --------| ------- |
| 1 | 在K8S集群中创建Deployment和Service |
| 2 | 配置Ingress资源 |
| 3 | 创建/更新Ingress资源 |

### 具体操作步骤

#### 步骤1: 创建Deployment和Service
首先,我们需要在K8S集群中创建一个Deployment来运行我们的应用,并创建一个Service来提供访问入口。

```yaml
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:latest
ports:
- containerPort: 80

# service.yaml
apiVersion: v1
kind: Service
metadata:
name: myapp-service
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
```

#### 步骤2: 配置Ingress资源
接下来,我们需要配置Ingress资源,指定外部域名和路径到Service的映射关系。

```yaml
# ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: myapp-ingress
spec:
rules:
- host: myapp.domain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: myapp-service
port:
number: 80
```

#### 步骤3: 创建/更新Ingress资源
最后,我们创建或更新Ingress资源来应用配置的端口映射规则。

```bash
# 创建Ingress资源
kubectl apply -f ingress.yaml
# 或者更新Ingress资源
kubectl apply -f ingress.yaml --force
```

### 总结

通过以上步骤,我们成功在阿里云上实现了端口映射,将外部访问请求映射到K8S集群内部的容器服务。希望本文对刚入行的小白有所帮助,如果有任何问题或疑问,欢迎留言交流。祝学习顺利!