在Kubernetes(K8S)中,想要在80端口上运行服务但是又希望无需特权即可访问的话,需要通过配置Service和Pod的相关参数来实现。在此,我将详细讲解如何实现这一步骤,并帮助你完成配置。

### 实现K8S 80端口无权限的步骤

| 步骤 | 操作 |
| ------ | ------ |
| 1 | 部署无需特权的容器镜像 |
| 2 | 创建Service对象用于转发流量 |
| 3 | 部署Pod并关联Service与容器 |

### Step 1: 部署无需特权的容器镜像
首先,我们需要准备一个无需特权的容器镜像。确保容器中的服务可以在80端口上运行而无需特权。

### Step 2: 创建Service对象用于转发流量
创建一个Service对象,通过80端口外部访问的请求可以被转发到Pod上。下面是一个Service的yaml示例代码:

```yaml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 80
```

在这段代码中,我们定义了一个名为`my-service`的Service对象,指定了端口80用于流量转发到Pod。

### Step 3: 部署Pod并关联Service与容器
最后一步是部署Pod并关联Service与容器。下面是一个Pod的yaml示例代码:

```yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: your/image:latest
ports:
- containerPort: 80
```

在这段代码中,我们定义了一个名为`my-pod`的Pod对象,指定了一个名为`my-container`的容器,并将容器镜像设置为`your/image:latest`。同时,我们也将容器的80端口暴露出来供Service对象转发流量。

### 总结
通过以上步骤,我们成功实现了在K8S中通过80端口运行服务但又无需特权即可访问的配置。需要特别注意的是,在部署Pod时务必将容器的端口与Service对象中的端口对应起来,以确保流量能够正确转发到Pod并暴露出去。

希望这篇文章能帮助你理解并成功实现“k8s 80端口 无权限”的操作。如果有任何疑问或疑惑,欢迎随时向我提问。祝学习顺利!