arkade:设置服务为LoadBalancer



如何实现arkade将创建type: LoadBalancer而不是type: ClusterIP的服务?

我在部署我的私人docker-registry时偶然发现了这个要求。登录,从命令行推送和拉取映像,一切都运行良好,但是一旦我想使用该注册表,我需要一个参考点,我将其声明为部署定义中的映像:

...
containers:
- name: pairstorer
image: 192.168.x.x:5000/myimage:1.0.0
ports:
- containerPort: 55555
...

如果我使用arkade install docker-registry安装注册表,我没有看到任何获得kubectl edit service docker-registry以外的外部IP并自行添加的选项。

如果您想要的只是将Service类型从ClusterIP更改为LoadBalancer,则需要覆盖docker-registry的默认值。

Arkade使用stable/docker-registryHelm图表来安装docker-registry,你可以在这里找到默认值。

您需要将service.type=ClusterIP更改为service.type=LoadBalancer(另外您可能需要编辑更多值,例如从默认的5000修改端口号):

$ arkade install docker-registry --set service.type=LoadBalancer

要更改端口,将--set service.port=<PORT_NUMBER>添加到上述命令中。

我们可以检查docker-registry的类型Service:

$ kubectl get svc docker-registry
NAME              TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)          AGE
docker-registry   LoadBalancer   10.0.14.107   <PUBLIC_IP>    5000:32665/TCP   29m

此外,您可能对本教程中描述的启用tls的Docker注册表感兴趣。我建议您使用这种方法。

最新更新