gpt4 book ai didi

kubernetes - 带有Ingress设置的GKE始终会显示状态为“不健康”

转载 作者:行者123 更新时间:2023-12-02 11:28:47 25 4
gpt4 key购买 nike

首先,我已经在https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer上测试了该教程

效果很好。我还测试了相同的教程,但是还添加了一个tls secret 来测试https,它也可以正常工作。

我创建自己的图像时会出现问题。这是我采取的步骤:

  • Dockerfile:

  • #我们将阶段标记为“构建者”
    FROM节点:9.4.0-alpine作为构建器

    COPY package.json package-lock.json ./

    ##将节点模块存储在单独的层上将防止每次构建时不必要的npm安装
    运行npm i && mkdir/srv/cs-ui && cp -R ./node_modules ./srv/cs-ui

    WORKDIR/srv/cs-ui

    复制 。 。

    ##在生产模式下构建angular应用并将工件存储在dist文件夹中
    运行$(npm bin)/ng build --environment“prod”

    来自nginx

    ##复制我们的默认nginx配置
    COPY nginx/default.conf/etc/nginx/conf.d/

    ##删除默认的nginx网站
    运行rm -rf/usr/share/nginx/html/*

    ##从“builder”阶段将dist文件夹中的工件复制到默认的nginx nginx公用文件夹
    复制--from = builder/srv/cs-ui/dist/usr/share/nginx/html/
  • Dockerfile与docker-compose文件一起运行,如下所示:

  • 版本:“2”
    服务:
    cs-ui:
    图片:“gcr.io/cs-micro/cs-ui:v1”
    container_name:“cs-ui”
    tty:是的
    build : 。
    端口:
    -“80:80”
  • 在本地这可以正常工作。我要做的下一件事是将其推送到Container Registry。

  • gcloud docker-推送gcr.io/cs-micro/cs-ui:v1
  • 之后,我创建一个容器:

  • kubectl运行cs-ui --image = gcr.io/cs-micro/cs-ui:v1 --port = 80
  • 然后我将其公开:

  • kubectl公开部署cs-ui --target-port = 80 --type = NodePort
  • 然后运行以下入口文件:

  • apiVersion:扩展程序/v1beta1
    种类:入口
    元数据:
    名称:基本入口
    规范:
    tls:
    -secretName:tls-certificate
    后端:
    serviceName:cs-ui
    servicePort:80

    使用命令:

    kubectl apply -f test.yaml
  • kubectl描述服务

  • 名称:cs-ui
    命名空间:默认
    标签:run = cs-ui
    注释:
    选择器:run = cs-ui
    类型:NodePort
    IP:10.35.244.124
    端口:80/TCP
    TargetPort:80/TCP
    节点端口:30272/TCP
    端点:10.32.0.32:80
    session 亲和力:无
    外部流量策略:群集
    大事记:

    名称:kubernetes
    命名空间:默认
    标签:component = apiserver
    provider = kubernetes
    注释:
    选择器:
    类型:ClusterIP
    IP:10.35.240.1
    端口:https 443/TCP
    TargetPort:443/TCP
    端点:35.195.192.28:443
    session 亲和力:ClientIP
    大事记:
  • kubectl描述部署

  • 名称:cs-ui
    命名空间:默认
    CreationTimestamp:2018年1月25日,星期四12:27:59 +0100
    标签:run = cs-ui
    注释:deployment.kubernetes.io/revision=1
    选择器:run = cs-ui
    副本:1个所需| 1个更新|共1个| 1个可用| 0不可用
    策略类型:RollingUpdate
    MinReadySeconds:0
    RollingUpdateStrategy:1个最大不可用,1个最大喘振
    Pod模板:
    标签:run = cs-ui
    容器:
    cs-ui:
    图像:gcr.io/cs-micro/cs-ui:v1
    端口:80/TCP
    环境:
    坐骑:
    卷数:
    使适应:
    类型状态原因
    ---- ------ ------
    可用的True MinimumReplicas可用
    旧副本集:
    NewReplicaSet:cs-ui-2929390783(已创建1/1个副本)
    大事记:
    从消息中键入原因年龄
    ---- ------ ---- ---- -------
    普通ScalingReplicaSet 9m部署 Controller 将副本集CS-UI-2929390783放大为1
  • kubectl描述

  • 名称:基本型
    命名空间:默认
    地址:35.227.220.186
    默认后端:cs-ui:80(10.32.0.32:80)
    TLS:
    tls-certificate终止
    规则:
    主机路径后端
    ---- ---- --------
    * * cs-ui:80(10.32.0.32:80)
    注释:
    https-forwarding-rule:k8s-fws-default-basic-ingress--f5fde3efbfa51336
    https-target-proxy:k8s-tps-default-basic-inress--f5fde3efbfa51336
    ssl-cert:k8s-ssl-default-basic-inress--f5fde3efbfa51336
    目标代理:k8s-tp-default-basic-inress--f5fde3efbfa51336
    网址映射:k8s-um-default-basic-inress--f5fde3efbfa51336
    后端:{“k8s-be-30272--f5fde3efbfa51336”:“不健康”}
    转发规则:k8s-fw-default-basic-inress--f5fde3efbfa51336
    静态IP:k8s-fw-default-basic-inress--f5fde3efbfa51336
    大事记:
    从消息中键入原因年龄
    ---- ------ ---- ---- -------
    正常ADD 12m负载均衡器 Controller 默认值/基本值
    正常CREATE 11m负载均衡器 Controller IP:35.227.220.186
    正常服务6m(x4超过11m)负载均衡器- Controller 默认后端设置为cs-ui:30272
  • 3-5分钟后,我变得不健康,不知道为什么,因为设置几乎与其设置完全相同。

  • 当您获得不正常的后端状态时,我已经阅读了无数关于如何处理的线程,但是它们都没有帮助。在本教程中提到要添加一个防火墙规则: https://cloud.google.com/compute/docs/load-balancing/health-checks,我已经添加了,但是并没有帮助。

    如果您有任何建议,我会很乐意对其进行测试。

    最佳答案

    事实证明,我们的Angular应用程序在'/'上进行了重定向,使其获得302响应。该响应使运行状况检查失败,并导致状态为UNHEALTHY。

    一旦我们设置了自定义运行状况检查,它就会起作用。

    关于kubernetes - 带有Ingress设置的GKE始终会显示状态为“不健康”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442132/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com