1

我想在本地集群中运行一个应用程序,以kind使用docker. 根据描述https://kind.sigs.k8s.io/docs/user/quick-start/我定义了集群

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
  extraPortMappings:
    - containerPort: 30000
      hostPort: 5432
      protocol: TCP

以及使用容器的部署:

        containers:
        - name: postgres
          image: postgres:14.0
          ports:
            - containerPort: 5432

和服务

apiVersion: v1
kind: Service
metadata:
  name:  database
spec:
selector:
  name:  app
type:  NodePort
ports:
- name:  postgres
  port:  5432
  targetPort:  5432
  nodePort: 30000

我认为应该允许我从我的 Windows 11 主机连接到 dbeaver。这看起来不起作用所以我想问一下,我应该如何配置它才能从主机访问它。我已经尝试过的是:localhost:30000, 127.0.0.1:30000还有127.0.0.1:5432, localhost:5432

命令还kubectl get services告诉我:

Type: NodePort, Port(S): 5432:30000/TCP, External-IP: <none>, Cluster-Ip:10.96.211.69, name:something

4

1 回答 1

1

我找到了一个解决方案,原来是我放在nodeextractPortMappings里面而不是. 奇怪的是它没有失败,但是在将这部分移动到正确的位置后它开始工作了!workercontrol-plane

所以解决办法是改成这样:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraPortMappings:
  - containerPort: 30000
    hostPort: 5432
    protocol: TCP
- role: worker
于 2022-01-25T07:52:30.023 回答