こんにちは、kubernetes クラスターから kubernetes クラスター外のサービスとして mongo atlas データベースに接続できません。
ここに私が従った手順があります。
nodejs の私のコードでは、dbUri= 'mongodb://username:password' + process.env.MONGO_URL +'/database-name' を使用しました
クラスター IP サービス構成は次のとおりです。
kind: Service
apiVersion: v1
metadata:
name: mongo-cluster-ip-service
spec:
type: ClusterIP
ports:
- port: 27017
targetPort: 27017
次に、同じサービスのエンドポイントがあります
kind: Endpoints
apiVersion: v1
metadata:
name: mongo-cluster-ip-service
subsets:
- addresses:
- ip: 35.187.27.116
ports:
- port: 27017
- addresses:
- ip: 35.241.213.79
ports:
- port: 27017
- addresses:
- ip: 104.155.120.154
ports:
- port: 27017
次に、環境変数を介してポッドに使用したい展開があります
apiVersion: apps/v1
kind: Deployment
metadata:
name: user-reg-auth-deployment
spec:
replicas: 3
selector:
matchLabels:
app: user-reg-auth
template:
metadata:
labels:
app: user-reg-auth
spec:
imagePullSecrets:
- name: ofinowregcred # this is a manually applied secret to the cluster using kubectl create secret
containers:
- name: user-reg-auth
image: ofinow/user-reg-auth
ports:
- containerPort: 8080
# resources:
# requests:
# memory: "64Mi"
# cpu: "250m"
# limits:
# memory: "128Mi"
# cpu: "500m"
env:
- name: MONGO_URL
value: mongo-cluster-ip-service
問題は、mongo-cluster-ip-service が解決されていないため、接続できません。私は親切に助けを求めます
Google のベスト プラクティス ガイド https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-servicesに従いました