Мне нужно подключиться к mongodb, внешнему по отношению к кластеру kubernetes.
K8s позволяет нескольким методам обслуживания быть доступными вне кластера (а именно hostNetwork
, hostPort
, NodePort
, LoadBalancer
, Ingress
)
Эта статья пока одна из лучших на топи c.
В общем, вам просто нужно создать сервис, который будет указывать на ваш mongodb.
Может быть одним из (но не ограничиваясь):
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
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
Есть и другие способы достичь этого (просто не хочу копировать и вставлять сюда ту статью, на которую я ссылаюсь ).
Надеюсь, это поможет.