这个Kubernetes服务/pod/docker的URL是什么
我需要将couchDB实例的地址硬编码到kubernetes集群中的另一台服务器。我对kubernetes不太熟悉,但我知道每次重建集群或pod时,IP都会发生变化。所以我不能用那个 这个kubernetes服务的URL是什么/我应该将什么硬编码到我的服务器Docker映像中,以便它始终在系统中找到CouchDB服务器。我想会是这种形式这个Kubernetes服务/pod/docker的URL是什么,kubernetes,Kubernetes,我需要将couchDB实例的地址硬编码到kubernetes集群中的另一台服务器。我对kubernetes不太熟悉,但我知道每次重建集群或pod时,IP都会发生变化。所以我不能用那个 这个kubernetes服务的URL是什么/我应该将什么硬编码到我的服务器Docker映像中,以便它始终在系统中找到CouchDB服务器。我想会是这种形式 <service-name>.<namespace>.svc.cluster.local:<service-port>
<service-name>.<namespace>.svc.cluster.local:<service-port>
如果“wget 172.17.0.2:5984”有效,“172.17.0.2”应替换为什么
以下是不正确的
wget kino-coach-0.coach service.default.svc.cluster.local:5984
wget kino-coach-0.coach service.default.svc.cluster.local:5984
wget kino-coach-0.kino-coach.default.svc.cluster.local:5984
wget kino-coach-0.kino couchdb.default.svc.cluster.local:5984
wget kino-coach-0.kino couchdb.svc.cluster.local:5984对于statefolset,您需要创建一个数据库来负责证明稳定DNS条目的POD的网络标识。注意下面的示例中的
clustrip:None
apiVersion: v1
kind: Service
metadata:
name: couch-service
labels:
app: kino-couch
spec:
ports:
- port: 5984
clusterIP: None
selector:
app: kino-couch
statefulset需要在serviceName
中引用上述服务。因此statefulset yaml如下所示
# YAML for launching the server
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: kino-couch
labels:
app: kino-couch
spec:
serviceName: couch-service
# Single instance of the Orderer Pod is needed
replicas: 1
selector:
matchLabels:
app: kino-couch
template:
metadata:
labels:
app: kino-couch
spec:
containers:
- name: kino-couch
ports:
- containerPort: 5984
# Image used
image: dpacchain/development:dpaccouch
然后作为客户端,您可以使用coach service..svc.cluster.local:5984
访问它,以连接到任何CouchDB播客
如果要连接到特定的pod,请使用
kino-coach-0.coach service..svc.cluster.local:5984
。这通常是连接couchDB吊舱之间以创建群集所需的。对于StatefolSet,您需要创建一个服务器来负责证明稳定DNS条目的吊舱的网络标识。注意下面的示例中的clustrip:None
apiVersion: v1
kind: Service
metadata:
name: couch-service
labels:
app: kino-couch
spec:
ports:
- port: 5984
clusterIP: None
selector:
app: kino-couch
statefulset需要在serviceName
中引用上述服务。因此statefulset yaml如下所示
# YAML for launching the server
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: kino-couch
labels:
app: kino-couch
spec:
serviceName: couch-service
# Single instance of the Orderer Pod is needed
replicas: 1
selector:
matchLabels:
app: kino-couch
template:
metadata:
labels:
app: kino-couch
spec:
containers:
- name: kino-couch
ports:
- containerPort: 5984
# Image used
image: dpacchain/development:dpaccouch
然后作为客户端,您可以使用coach service..svc.cluster.local:5984
访问它,以连接到任何CouchDB播客
如果要连接到特定的pod,请使用
kino-coach-0.coach service..svc.cluster.local:5984
。这通常是连接couchDB吊舱以创建集群所需的。您应该配置此值,并将其作为环境变量传递。如果您硬编码一个值,您将永远无法在非Kubernetes开发环境中运行它,或者在同一集群中运行多个安装。您拥有的主机名语法是正确的,但您需要知道其中包含的服务和命名空间名称。您是否找到了解决方案并得出了一些结论?kino Coach:5984是答案。您应该配置此值并将其作为环境变量传递。如果您硬编码一个值,您将永远无法在非Kubernetes开发环境中运行它,或者在同一集群中运行多个安装。您拥有的主机名语法是正确的,但您需要知道其中包含的服务和命名空间名称。您是否找到了解决方案并得出了一些结论?kino COACH:5984是答案我需要“kino-COACH-0.COACH Service..svc.cluster.local:”完全符合信息的要求。我已经试过wget kino-COACH-0.COACH service.default.svc.cluster.local:5984 wget kino-COACH-0.default.svc.cluster.local:5984 wget kino-COACH-0.kino COUCHB.default.svc.cluster.local:5984 wget kino-COACH-0“kino-coach-0.coach服务..svc.cluster.local:“正是根据这些信息。我已经尝试过wget-kino-coach-0.coach-service.default.svc.cluster.local:5984 wget-kino-coach-0.default.svc.cluster.local:5984 wget-kino-coach-0.kino-coach.default.svc.cluster.local:5984 wget-kino-coach-0.kino-couchdb.default.svc.cluster.local:5984 wget-kino-couchdb.svc.cluster.local:5984