大佬教程收集整理的这篇文章主要介绍了如何在 kubernetes 之外的 statefulset 中公开 mongodb,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的 webprotege StatefulSet 有以下配置。
APIVersion: apps/v1
kind: StatefulSet
Metadata:
name: webprotege-test
labels:
app: webprotege-test
spec:
servicename: "webprotege-service-test"
volumeClaimTemplates:
- Metadata:
name: data
spec:
accessModes: [ "ReaDWriteOnce" ]
resources:
requests:
storage: 20Gi
replicas: 1
SELEctor:
matchLabels:
app: webprotege-test
template:
Metadata:
labels:
app: webprotege-test
spec:
containers:
#
# webprotege app
- name: webprotege-test
#image: alexmilowski/allegrograph-kubernetes:latest
image: testwebprotege:4.0.2
# Wait for database. checks that the db is Listening on port 27017.
command: ["/bin/sh"]
args: ["-c","for i in {1..20}; do if nc -z localhost 27017; then catalina.sh run; fi; echo 'waiTing for database...'; sleep 2; done; exit 1"]
volumeMounts:
- name: data
mountPath: /srv/webprotege
ports:
- containerPort: 8080
name: webprotege-http
env:
- name: webprotege.mongodb.host
value: localhost
#
# mongodb
- name: wpmongo-test
image: mongo:4.1-bionic
volumeMounts:
- name: data
mountPath: /data/db
我想使用 mongodb 客户端访问 kubernetes 之外的 mongo DB 容器。如何将 mongodb 公开给 kubernetes 集群之外的客户端。我曾尝试添加一个 containerPort,但这似乎不起作用。
有多种方式可以公开您的服务。使用哪一种取决于您的用例。
根据 the documentation,以下是在集群外公开 mongo DB pod 的 2 种可能方法:
请注意,您需要在支持 LoadBalancers
的环境中运行集群才能使用它们。这通常意味着在受支持的云提供商(AWS、Azure、Google Cloud、Digital Ocean 等)或专门配置为支持负载均衡器的本地集群中运行。
以上是大佬教程为你收集整理的如何在 kubernetes 之外的 statefulset 中公开 mongodb全部内容,希望文章能够帮你解决如何在 kubernetes 之外的 statefulset 中公开 mongodb所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。