Kubernetes 如何将动态IP设置为属性文件?
我部署了两个吊舱,需要与另一个吊舱(比如说A吊舱)通话。 Pod A需要部署的Pod服务的Ip地址。所以我需要在Pod A所需的配置属性文件中设置这些Ip地址。 由于Ip地址是动态的,也就是说,如果pod崩溃,它会被更改。所以需要动态设置它 目前我部署了2个吊舱,并且Kubernetes 如何将动态IP设置为属性文件?,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我部署了两个吊舱,需要与另一个吊舱(比如说A吊舱)通话。 Pod A需要部署的Pod服务的Ip地址。所以我需要在Pod A所需的配置属性文件中设置这些Ip地址。 由于Ip地址是动态的,也就是说,如果pod崩溃,它会被更改。所以需要动态设置它 目前我部署了2个吊舱,并且 kubectl get ep 并在配置属性文件中设置这些Ip地址,构建Dockerfile并推送它,然后使用该映像进行部署 这是我的解聚和svc文件,其中映像djtijare/a2ipricing指的是配置文件 apiV
kubectl get ep
并在配置属性文件中设置这些Ip地址,构建Dockerfile并推送它,然后使用该映像进行部署
这是我的解聚和svc文件,其中映像djtijare/a2ipricing指的是配置文件
apiVersion: v1
kind: Service
metadata:
name: spring-boot-demo-pricing
spec:
ports:
- name: spring-boot-pricing
port: 8084
targetPort: 8084
selector:
app: spring-boot-demo-pricing
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: spring-boot-demo-pricing
spec:
replicas: 1
template:
metadata:
labels:
app: spring-boot-demo-pricing
spec:
containers:
- name: spring-boot-demo-pricing
image: djtijare/a2ipricing:v1
imagePullPolicy: IfNotPresent
# envFrom:
#- configMapRef:
# name: spring-boot-demo-config-map
resources:
requests:
cpu: 100m
memory: 1Gi
ports:
- containerPort: 8084
nodeSelector:
disktype: ssd
因此,如何在配置文件中动态设置这两个吊舱的IP,并构建和推送docker映像。我认为您应该考虑使用 有时,您不需要或不想要负载平衡和单一服务IP。在这种情况下,您可以通过显式地为集群IP指定
“None”
(.spec.clusterIP
)来创建所谓的“headless”服务
您可以使用无头服务与其他服务发现机制进行接口,而不必绑定到Kubernetes的实现。例如,您可以实现一个自定义的[Operator](操作符),它可以基于此API构建
对于此类服务
,不分配群集IP,kube代理不处理这些服务,平台也不为其执行负载平衡或代理。DNS的自动配置方式取决于服务是否定义了选择器
例如,如果您将服务设置为spec.clustrip=None
,您可以nslookup-type=spring boot演示定价
,它将显示连接到此服务的pod
的IP
/ # nslookup -type=A spring-boot-demo-pricing
Server: 10.11.240.10
Address: 10.11.240.10:53
Name: spring-boot-demo-pricing.default.svc.cluster.local
Address: 10.8.2.20
Name: spring-boot-demo-pricing.default.svc.cluster.local
Address: 10.8.1.12
Name: spring-boot-demo-pricing.default.svc.cluster.local
Address: 10.8.1.13
下面是我使用的yaml
:
apiVersion: v1
kind: Service
metadata:
name: spring-boot-demo-pricing
labels:
app: spring-boot-demo-pricing
spec:
ports:
- name: spring-boot-pricing
port: 8084
targetPort: 8084
clusterIP: None
selector:
app: spring-boot-demo-pricing
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: spring-boot-demo-pricing
labels:
app: spring-boot-demo-pricing
spec:
replicas: 3
selector:
matchLabels:
app: spring-boot-demo-pricing
template:
metadata:
labels:
app: spring-boot-demo-pricing
spec:
containers:
- name: spring-boot-demo-pricing
image: djtijare/a2ipricing:v1
imagePullPolicy: IfNotPresent
# envFrom:
#- configMapRef:
# name: spring-boot-demo-config-map
resources:
requests:
cpu: 100m
memory: 1Gi
ports:
- containerPort: 8084
能否使用服务的DNS名称spring boot演示定价
?如何检查此问题?curl spring boot演示定价不起作用