Kubernetes 通过大使访问库伯内特无头服务
我已将我的服务部署为无头服务器,并遵循了本链接()中提到的kubernetes配置。我的服务是负载平衡的,并使用大使进行代理。只要服务不是无头的,一切都很好。一旦服务变为无头服务,大使就无法发现我的服务。这意味着它一直在寻找clusterIP,但现在由于服务无头而丢失了它。我需要在deployment.yaml中包含哪些内容,以便大使可以发现这些服务 错误我看到“上游连接错误或在标头之前断开/重置。重置原因:连接失败” 我需要这些服务是无头的,因为这是使用hazelcast创建集群的唯一方法。我正在创建web套接字连接和vertx事件总线Kubernetes 通过大使访问库伯内特无头服务,kubernetes,headless,envoyproxy,Kubernetes,Headless,Envoyproxy,我已将我的服务部署为无头服务器,并遵循了本链接()中提到的kubernetes配置。我的服务是负载平衡的,并使用大使进行代理。只要服务不是无头的,一切都很好。一旦服务变为无头服务,大使就无法发现我的服务。这意味着它一直在寻找clusterIP,但现在由于服务无头而丢失了它。我需要在deployment.yaml中包含哪些内容,以便大使可以发现这些服务 错误我看到“上游连接错误或在标头之前断开/重置。重置原因:连接失败” 我需要这些服务是无头的,因为这是使用hazelcast创建集群的唯一方法。我
apiVersion: v1
kind: Service
metadata:
name: abt-login-service
labels:
chart: "abt-login-service-0.1.0-SNAPSHOT"
annotations:
fabric8.io/expose: "true"
fabric8.io/ingress.annotations: 'kubernetes.io/ingress.class: nginx'
getambassador.io/config: |
---
apiVersion: ambassador/v1
name: login_mapping
ambassador_id: default
kind: Mapping
prefix: /login/
service: abt-login-service.default.svc.cluster.local
use_websocket: true
spec:
type: ClusterIP
clusterIP: None
selector:
app: RELEASE-NAME-abt-login-service
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
- name: hz-port-name
port: 5701
protocol: TCP```
```Deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: RELEASE-NAME-abt-login-service
labels:
draft: draft-app
chart: "abt-login-service-0.1.0-SNAPSHOT"
spec:
replicas: 2
selector:
matchLabels:
app: RELEASE-NAME-abt-login-service
minReadySeconds: 30
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
metadata:
labels:
draft: draft-app
app: RELEASE-NAME-abt-login-service
component: abt-login-service
spec:
serviceAccountName: vault-auth
containers:
- name: abt-login-service
env:
- name: SPRING_PROFILES_ACTIVE
value: "dev"
- name: _JAVA_OPTIONS
value: "-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=2 -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:Min
HeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dhazelcast.diagnostics.enabled=true
"
image: "draft:dev"
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
ports:
- containerPort: 5701
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
readinessProbe:
httpGet:
path: /health
port: 8080
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
cpu: 500m
memory: 1024Mi
requests:
cpu: 400m
memory: 512Mi
terminationGracePeriodSeconds: 10```
How can I make these services discoverable by ambassador?
有人知道答案吗?我也遇到了同样的问题,因为ambassadorI没有发现headless服务。我认为您可以通过使用Consor或zookeeper执行服务发现(即在那里注册服务)来克服这个问题。我还没有试过。我会发布一个更新,一旦我有它的工作。有人得到了这个答案吗?我也遇到了同样的问题,因为ambassadorI没有发现headless服务。我认为您可以通过使用Consor或zookeeper执行服务发现(即在那里注册服务)来克服这个问题。我还没有试过。我会发布一个更新,一旦我有它的工作。