在Kubernetes(简称K8S)集群中,LoadBalancer(LB)和NodePort是两种常见的服务暴露方式。LoadBalancer是通过云服务商提供的负载均衡器分配外部流量到集群中的Service,而NodePort则是通过每个节点的特定端口暴露Service。本文将详细介绍如何在K8S集群中使用NodePort方式来实现负载均衡。

整个过程分为以下几个步骤,流程如下表所示:

| 步骤 | 描述 |
| ------ | ------ |
| 步骤1 | 创建一个Deployment |
| 步骤2 | 创建一个Service,并将其类型设为NodePort |
| 步骤3 | 获取NodePort端口 |
| 步骤4 | 访问Service |

接下来我们将逐步进行操作。

### 步骤1:创建一个Deployment

首先,我们需要在K8S集群中创建一个Deployment。请运行如下代码:

```bash
kubectl create deployment nginx-deployment --image=nginx
```

这行命令将创建一个名为`nginx-deployment`的Deployment,并使用`nginx`镜像。

### 步骤2:创建一个Service,并将其类型设为NodePort

接下来,我们需要创建一个Service,并将其类型设为NodePort。请运行如下代码:

```bash
kubectl expose deployment nginx-deployment --port=80 --target-port=80 --type=NodePort
```

这行命令将创建一个名为`nginx-deployment`的Service,并将其类型设为NodePort,将80端口映射到容器的80端口。

### 步骤3:获取NodePort端口

现在我们需要获取NodePort端口,以便访问Service。请运行如下代码:

```bash
kubectl get svc nginx-deployment
```

在输出中找到`nginx-deployment`的Service,并注意`80:XXXXX/TCP`这一行,其中`XXXXX`就是NodePort端口。

### 步骤4:访问Service

最后,我们可以通过任意集群中的节点IP和NodePort端口来访问Service。例如,如果集群中的节点IP是`192.168.1.100`,NodePort端口是`XXXXX`,则可以通过`http://192.168.1.100:XXXXX`来访问Service。

至此,我们成功地使用NodePort方式实现了负载均衡。希望以上步骤能帮助你理解并实现“k8s lb nodeport”。

总结
本文通过四个简单的步骤,向K8S新手介绍了如何使用NodePort方式来实现负载均衡。首先创建Deployment,然后创建Service并将其类型设为NodePort,获取NodePort端口,最后访问Service即可。希望本文对你有所帮助!