我正在将一个包含divolte的Kubernetes集群从一个GCP(Google云平台)项目复制到另一个。在已经运行的项目中,我与目标项目具有完全相同的配置。在我的新项目中,我没有使负载均衡器运行正确的运行状况检查,并且当我尝试从负载均衡器连接到静态IP时,出现了502服务器错误。
我已经执行了与原始项目相同的步骤:
部署文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: divolte
spec:
selector:
matchLabels:
app: divolte
replicas: 2
strategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: divolte
spec:
containers:
- name: divolte
imagePullPolicy: Always
image: "eu.gcr.io/project-name/divolte-collector:latest"
ports:
- containerPort: 8290
env:
- name: JAVA_OPTS
value: "-Xms512m -Xmx2048m -XX:+UseG1GC -Djava.awt.headless=true"
resources:
limits:
cpu: 1
memory: 3072Mi
requests:
cpu: 1
memory: 2048Mi
livenessProbe:
httpGet:
path: /divolte.js
port: 8290
initialDelaySeconds: 22
timeoutSeconds: 1
readinessProbe:
httpGet:
path: /ping
port: 8290
initialDelaySeconds: 22
periodSeconds: 1
terminationGracePeriodSeconds: 30
服务文件:
apiVersion: v1
kind: Service
metadata:
name: divolte
spec:
ports:
- name: http
port: 80
targetPort: 8290
nodePort: 30964
selector:
app: divolte
type: NodePort
入口文件:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: divolte
annotations:
kubernetes.io/ingress.global-static-ip-name: ip-name-here
spec:
tls:
- secretName: ssl-cert-name-here
backend:
serviceName: divolte
servicePort: 80
我希望负载平衡器能够像以前的GCP项目一样拾取配置文件,并将流量正确地重新路由到群集,但是我无法通过运行状况检查使GCP负载平衡器正常工作。有什么下一步的想法吗?
答案 0 :(得分:1)
我找到了解决问题的方法。
感谢您的建议,我正在寻找负载均衡器中的症状,但这是错误的方向。
由于我忘记创建Google Storage存储桶,因此kubernetes豆荚卡在了“ crashloopbackoff”中,我没有在文档中设置环境,因此我忽略了它。我用“ kubectl日志”命令找到了它。该应用已启动并正在运行。