0

全部,

我遵循了本教程:https ://github.com/ahmetb/gke-letsencrypt 。我在谷歌云中有一个 kubernetes 的入口设置,我有一个静态 IP 地址并创建了秘密。这是我的入口配置:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: helloweb
  annotations:
    kubernetes.io/ingress.global-static-ip-name: helloweb-ip
    certmanager.k8s.io/acme-http01-edit-in-place: "true"
  labels:
    app: hello
spec:
  backend:
    serviceName: helloweb-backend
    servicePort: 8080
  tls:
  - secretName: dogs-com-tls
    hosts:
    - app-solidair-vlaanderen.com

我可以访问http://app-solidair-vlaanderen.com,但不能访问 https 网址。

如果我调用描述入口,我会得到以下输出:

Name:             helloweb
Namespace:        default
Address:          35.190.68.173
Default backend:  helloweb-backend:8080 (10.32.0.17:8080)
TLS:
  dogs-com-tls terminates app-solidair-vlaanderen.com
Rules:
  Host                         Path  Backends
  ----                         ----  --------
  app-solidair-vlaanderen.com
                               /.well-known/acme-challenge/Q8kcFSZ0ZUJO58xZyVbK6s-cJIWu-EgwPcDd8NFyoXQ   cm-acme-http-solver-mhqnf:8089 (<none>)
Annotations:
  url-map:          k8s-um-default-helloweb--17a833239f9491d9
  backends:         {"k8s-be-30819--17a833239f9491d9":"Unknown","k8s-be-32482--17a833239f9491d9":"HEALTHY"}
  forwarding-rule:  k8s-fw-default-helloweb--17a833239f9491d9
  target-proxy:     k8s-tp-default-helloweb--17a833239f9491d9
Events:
  Type     Reason  Age                From                     Message
  ----     ------  ----               ----                     -------
  Normal   ADD     45m                loadbalancer-controller  default/helloweb
  Normal   CREATE  44m                loadbalancer-controller  ip: 35.190.68.173
  Warning  Sync    7m (x22 over 28m)  loadbalancer-controller  Error during sync: error while evaluating the ingress spec: could not find service "default/cm-acme-http-solver-mhqnf"

有人知道我错过了什么吗?

4

1 回答 1

1

您的入口定义有些混乱,为什么主机在 tls 下?这是一个对我有用的例子:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: {{ .Values.ingressName }}-ingress
annotations:
  kubernetes.io/ingress.global-static-ip-name: {{ .Values.staticIpName }}-static-ip
  kubernetes.io/ingress.allow-http: "false"
labels:
  ...
spec:
  tls:
  - secretName: sslcerts
  rules:
  - host: {{ .Values.restApiHost }}
  http:
    paths:
    - backend:
        serviceName: rest-api-internal-service
        servicePort: 80
于 2018-10-07T07:03:10.807 回答