如何从Kubernetes集群外部连接到Mongodb

时间:2020-03-12 09:05:07

标签: mongodb kubernetes google-kubernetes-engine kubernetes-helm kubectl

我需要连接到kubernetes集群外部的mongodb。当我一直在互联网上搜索时,我不知道该怎么做,因为我找到了有关如何在K8s集群中连接到mongodb的所有信息。另一方面,我不会反对。但是对于项目的开始,我必须连接到外部mongodb。

你知道怎么做吗?还是您有什么信息可以帮助我?

deployment.yaml:

  - name: XXXX_CONFIG_API_MONGODB
    value: "mongodb://@IP:27017"

提前感谢

2 个答案:

答案 0 :(得分:0)

您需要更新不在部署中的服务。与服务有关。

class Button
{
    // ....
public:
    void memberCallback();
    Button(int gpio, Button*& ptr, void(*isr)()) {
        ptr = this;
        attachInterrupt(digitalPinToInterrupt(gpio), isr, FALLING);
    }
};

Button* button1;
extern "C" void button1ISR() {
    button1ISR->memberCallback();
}

// create you Button somewhere, e.g.:
int main() {
    Button b1(gpio, button1, button1ISR);
    // ...
}

注意:-“ mongod-db”是kubernetes选择器,在部署中应该相同。

答案 1 :(得分:0)

我需要连接到kubernetes集群外部的mongodb。

K8允许在群集外部访问一些服务方法(即hostNetworkhostPortNodePortLoadBalancerIngress

This article迄今为止是主题最好的之一。

通常,您只需要创建一个指向mongodb的服务即可。

它可以是(但不限于)以下一种:

  • LoadBalancer 类型:
kind: Service 
apiVersion: v1 
metadata: 
  name: mongo 
spec: 
  type: LoadBalancer 
  ports: 
    - port: 27017 
  selector: 
    app: my-mongo-db  # this shall match labels from the Deployment
  • NodePort 类型:
apiVersion: v1
kind: Service
metadata:
  name: mongo
spec:
  selector:
    app: my-mongo-db
  type: NodePort
  ports:
    - 
      port: 27017
      nodePort: 30001 # al the incoming connections to NodeIP:30001 will be forwarded to your mongo-pod

还有更多方法可以实现这一目标(只是不想在我一直在指的文章中复制粘贴)。

希望有帮助。