使用带有 GCP 的 kubernetes 从 WAN 连接到 pod

connecting to a pod from WAN using kubernetes with GCP

我使用 Google Cloud Platform 创建了一个 Kubernetes 1.8.6 集群。

我启用了仪表板,我可以正常登录。

我为 mariadb 安装创建了部署 yaml 文件

apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: mariadb-deployment
  labels:
    app: mariadb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mariadb
  template:
    metadata:
      labels:
        app: mariadb
    spec:
      containers:
      - name: mariadb
        image: mariadb:10.3.4
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "<PASSWORD>"
        - name: MYSQL_USER
          value: "<USER>"
        - name: MYSQL_PASSWORD
          value: "<PASSWORD>"
        volumeMounts:
        - mountPath: /var/lib/mysql
          name: mariadb-storage
        ports:
        - containerPort: 3306
      volumes:
      - name: mariadb-storage
        gcePersistentDisk:
            fsType: ext4
            pdName: mariadb-disk

我在kubernetes上应用了。现在我需要知道如何打开 mariadb 端口到我的特定 WAN ip,这样我就可以在端口 3306 上连接到它。

我可以看到我的 kubernetes 集群的端点 ip,只是不知道如何打开权限才能从我桌面的静态 ip 连接到它。

谢谢!

我找到了如何使用以下方法做到这一点:https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/

因为我已经在本地机器上安装了 mariadb,所以我使用以下方法将远程端口 3306 转发到本地 3307:

kubectl port-forward mariadb-deployment-<ID> 3307:3306

就是这样!我可以连接了。