【问题标题】:Simplest way to access internal resources in a K3S installation在 K3S 安装中访问内部资源的最简单方法
【发布时间】:2022-06-20 17:20:01
【问题描述】:

前言:我知道这有点重复(这个问题在不同版本中已被多次问过),但我真的找不到关于如何在裸机上处理这个问题的明确答案。

问题:我希望能够访问内部服务,而无需为每个服务进行端口转发。就像访问 loki 或 traefik 仪表板一样。该设置在裸机服务器上运行标准 K3S。大多数答案和指南都集中在基于云的负载均衡器上,但显然我无法使用该选项。

似乎有很多方法可以解决这个问题,但最简单的方法是什么?绑定到 VPN 接口的第二个入口控制器?负载均衡器(哪个?)

非常感谢您的指导!

【问题讨论】:

    标签: kubernetes networking k3s


    【解决方案1】:

    在主机上公开k3s 服务的最简单方法就是创建LoadBalancer 服务。您实际上不需要安装任何类型的负载均衡器;这将在您的主机上公开您的服务端口。

    例如,启动一个 pod:

    k3s kubectl run --image docker.io/alpinelinux/darkhttpd:latest --port 8080 webtest
    

    创建服务:

    k3s kubectl expose pod webtest --target-port 8080 --name webtest --type=LoadBalancer
    

    这让我们得到一个如下所示的清单:

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        run: webtest
      name: webtest
      namespace: default
    spec:
      allocateLoadBalancerNodePorts: true
      clusterIP: 10.43.234.34
      clusterIPs:
      - 10.43.234.34
      externalTrafficPolicy: Cluster
      internalTrafficPolicy: Cluster
      ipFamilies:
      - IPv4
      ipFamilyPolicy: SingleStack
      ports:
      - nodePort: 31647
        port: 8080
        protocol: TCP
        targetPort: 8080
      selector:
        run: webtest
      sessionAffinity: None
      type: LoadBalancer
    status:
      loadBalancer:
        ingress:
        - ip: 192.168.122.136
    

    现在在我的k3s 主机上,我可以:

    $ curl localhost:8080
    <html>
    <head>
     <title>/</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    ...
    

    或者来自我网络上的其他地方:

    $ curl 192.168.1212.136:8080
    <html>
    <head>
     <title>/</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    </head>
    ...
    

    【讨论】:

      【解决方案2】:

      最后,问题在于我的wireguard接口的流量是如何路由到k3s的。修复路由后,我就可以访问暴露的服务了。

      【讨论】:

        猜你喜欢
        • 2011-01-16
        • 1970-01-01
        • 2018-08-05
        • 1970-01-01
        • 2015-09-06
        • 2015-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多