【问题标题】:arkade: set up service as a LoadBalancerarkade:将服务设置为 LoadBalancer
【发布时间】:2021-02-03 12:26:04
【问题描述】:

我怎样才能实现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 的选项。

【问题讨论】:

    标签: docker kubernetes k3s


    【解决方案1】:

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

    Arkade使用stable/docker-registry Helm图表安装docker-registry,可以找到默认值here

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

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

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

    我们可以查看docker-registryService的类型:

    $ 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
    

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

    【讨论】:

    • 非常感谢您的解释,不胜感激!它就像一个魅力 :) 现在我已经阅读了一些关于 helm repos 是如何组织的,对我来说更清楚幕后的魔法是如何发生的。您指向 docker-registry 值的链接让我大开眼界。
    猜你喜欢
    • 2021-06-19
    • 2021-11-17
    • 2011-08-12
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2018-07-03
    相关资源
    最近更新 更多