在Kubernetes(K8S)中,web服务所使用的TCP端口号默认为80。在部署和管理web服务时,我们需要设置相应的端口号,以便让服务能够正确地监听和响应请求。下面我将向你展示如何实现设置web服务所使用的TCP端口号为80的步骤以及相应的代码示例。

### 实现web服务所使用的TCP端口号默认为80
整个流程可以分为以下步骤:

| 步骤 | 操作 |
|---|---|
| 1 | 创建一个Deployment对象 |
| 2 | 创建一个Service对象 |
| 3 | 暴露Service对象 |
| 4 | 验证端口设置是否生效 |

#### 步骤 1:创建一个Deployment对象
首先,我们需要创建一个Deployment对象来部署我们的web服务。下面是一个示例的Deployment配置文件:

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-web-service
spec:
replicas: 1
selector:
matchLabels:
app: my-web-service
template:
metadata:
labels:
app: my-web-service
spec:
containers:
- name: my-web-service
image: nginx:latest
ports:
- containerPort: 80 # 指定容器监听的端口为80
```

在上面的配置文件中,我们指定容器监听的端口为80。这样当容器启动时,会在容器内部监听80端口。

#### 步骤 2:创建一个Service对象
接下来,我们需要创建一个Service对象来暴露Deployment中的Pod。下面是一个示例的Service配置文件:

```yaml
apiVersion: v1
kind: Service
metadata:
name: my-web-service
spec:
selector:
app: my-web-service
ports:
- protocol: TCP
port: 80 # Service监听的端口为80
targetPort: 80 # 将流量转发到Pod的80端口
```

在上面的配置文件中,我们指定了Service监听的端口为80,并将流量转发到Pod的80端口。

#### 步骤 3:暴露Service对象
执行以下命令来暴露Service对象:

```bash
kubectl expose deployment my-web-service --type=LoadBalancer
```

上述命令会创建一个外部可访问的负载均衡器,并将流量路由到Service对象。

#### 步骤 4:验证端口设置是否生效
可以通过以下命令查看Service的IP地址和端口号:

```bash
kubectl get svc
```

执行上述命令后,在输出中找到my-web-service的IP地址和端口号,然后就可以使用该地址和端口访问你的web服务了。

通过上述步骤,我们成功地设置了web服务所使用的TCP端口号为默认的80,使得服务能够监听并处理来自该端口的请求。希望这篇文章对你有所帮助!如果有任何疑问,都可以随时向我提出。