ingress/single-cluster/ingress-custom-http-health-check/custom-http-hc-ingress.yaml (67 lines of code) (raw):

# Copyright 2021 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: hc-test annotations: kubernetes.io/ingress.class: "gce" spec: rules: - http: paths: - path: / pathType: Prefix backend: service: name: whereami port: number: 80 --- apiVersion: cloud.google.com/v1 kind: BackendConfig metadata: name: hc-test spec: healthCheck: timeoutSec: 1 type: HTTP requestPath: /healthz port: 8080 --- apiVersion: v1 kind: Service metadata: name: whereami annotations: cloud.google.com/neg: '{"ingress": true}' beta.cloud.google.com/backend-config: '{"default": "hc-test"}' spec: selector: app: whereami ports: - port: 80 protocol: TCP targetPort: 8080 --- apiVersion: apps/v1 kind: Deployment metadata: name: whereami spec: replicas: 3 selector: matchLabels: app: whereami template: metadata: labels: app: whereami spec: containers: - name: whereami image: us-docker.pkg.dev/google-samples/containers/gke/whereami:v1.2.20 ports: - name: http containerPort: 8080 env: - name: ECHO_HEADERS value: 'True'