小编Ram*_*Ram的帖子

我可以在 Google Kubernetes 引擎中将 Google 托管证书与 NGINX INGRESS 控制器一起使用吗?

我的 GKE 中有一个 NGINX Ingress。我想让我的 URL 安全。但不幸的是我无法通过证书管理器实现这一点。我看到一个创建托管证书的选项。但我不确定是否有注释允许我在 NGINX Ingress 中使用 google 管理的证书。控制器。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-https
  namespace: non-default
  annotations:
    kubernetes.io/ingress.allow-http: "false"
    kubernetes.io/ingress.class: "nginx"
    networking.gke.io/managed-certificates: "managed-certificate"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    cert-manager.io/issuer: "letsencrypt-production"
spec:
  tls:
    - hosts:
        - example.com
      secretName: selfsigned-cert-tls
  rules:
    - host: example.com
      http:
        paths:
          - path: "/"
            backend:
              serviceName: hello-service
              servicePort: hello-port
          - path: "/kube"
            backend:
              serviceName: hello-kubernetes
              servicePort: 80
Run Code Online (Sandbox Code Playgroud)

当我使用 cert-manager 创建证书时,证书状态显示“Kubernetes Ingress Controller Fake Certificate”

google-kubernetes-engine cert-manager nginx-ingress

8
推荐指数
1
解决办法
1820
查看次数

我正在尝试使用gcs bucket作为gke pod中的卷

我收到错误消息:

错误验证“ mysql.yaml”:错误验证数据:ValidationError(Deployment.spec.template.spec.volumes [0]):io.k8s.kubernetes.pkg.api.v1.Volume中的未知字段“ path”;)

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mysql
  labels:
    app: mysql
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - image: mysql:5.6
          name: mysql
          env:
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mysql
                  key: password
          ports:
            - containerPort: 3306
              name: mysql
          volumeMounts:
            - name: mapping-sandbox-test
              mountPath: /var/lib/mysql
      volumes:
        - name: mapping-sandbox-test
          path: gs://<bucket-name>
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage kubernetes google-kubernetes-engine docker-volume

5
推荐指数
1
解决办法
5386
查看次数

无法使用 kustomize 修补服务名称

我正在尝试使用 kustomize 重命名我的服务。

我收到以下错误:

Error: couldn't find target core_v1_Service|~X|~P|SERVICE_NAME|~S for json patch
Run Code Online (Sandbox Code Playgroud)

这是我的基本服务文件:

apiVersion: v1
kind: Service
metadata:
  labels:
    version: IMAGE_TAG
  name: SERVICE_NAME
  namespace: my-namespace
spec:
  ports:
    - name: http-service
      port: 8080
      protocol: TCP
      targetPort: http-service
  selector:
    app.kubernetes.io/name:
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
  sessionAffinity: None
  type: ClusterIP

Run Code Online (Sandbox Code Playgroud)

这是我的 kustomization.yaml 文件,我在其中定义了 patchJson6902:

patchesJson6902:
#- target:
#    group: apps
#    version: v1
#    kind: Deployment
#    name: DEPLOYMENT_NAME
#  path: patch_deployment.yaml
- target:
    group: core
    version: v1
    kind: Service
    name: SERVICE_NAME …
Run Code Online (Sandbox Code Playgroud)

google-kubernetes-engine kubectl kustomize

5
推荐指数
1
解决办法
1万
查看次数

如何为 GKE 内部 Ingress 设置静态内部 IP

我想为我的 GKE 工作负载创建一个内部入口。我想知道我可以使用什么注释,以便在入口中设置静态内部IP 地址/名称。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-https
  namespace: istio-system
  annotations:
    kubernetes.io/ingress.allow-http: "false"
    kubernetes.io/ingress.class: "gce-internal"
    ingress.gcp.kubernetes.io/pre-shared-cert: my-cert
    helm.sh/chart: {{ include "devtools.chart" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
  backend:
    serviceName: istio-ingressgateway-backend
    servicePort: 443
Run Code Online (Sandbox Code Playgroud)

我知道它将创建一个带有内部 IP 的入口,但是我想设置一个我已经在区域/子网中创建的静态 IP。是否可以这样做,如果是,是否有相同的注释

google-cloud-platform google-kubernetes-engine kubernetes-ingress

4
推荐指数
1
解决办法
1834
查看次数