首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx-ingress后面的Kubernet码头注册中心

nginx-ingress后面的Kubernet码头注册中心
EN

DevOps用户
提问于 2018-07-30 17:03:46
回答 1查看 3.7K关注 0票数 7

我尝试在docker-registry控制器后面的Kubernetes集群中设置nginx-ingress。问题是,当我试图将图像推入私有注册表时,它告诉我:

获取https://registry.local/v2/:x509:证书对ingress.local有效,而不是对registry.local有效

当我curl它的时候,我从入口的后端- 404得到响应。

这是入口清单:

代码语言:javascript
复制
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: docker-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  tls:
  - hosts: [ 'registry.local' ]
  - secretName: registry
  rules:
  - host: registry.local
    http:
      paths:
      - backend:
          serviceName: docker-registry
          servicePort: 5000
        path: /

这是码头登记清单:

代码语言:javascript
复制
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  labels:
    app: docker-registry
  name: docker-registry
spec:
  replicas: 1
  selector:
    matchLabels:
      app: docker-registry
  template:
    metadata:
      labels:
        app: docker-registry
    spec:
      containers:
      - command:
        - /bin/registry
        - serve
        - /etc/docker/registry/config.yml
        env:
        - name: REGISTRY_HTTP_ADDR
          value: 0.0.0.0:5000
        - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
          value: /var/lib/registry
        - name: REGISTRY_HTTP_TLS_CERTIFICATE
          value: /certs/ca.crt
        - name: REGISTRY_HTTP_TLS_KEY
          value: /certs/domain.key
        image: registry:2.6.2
        imagePullPolicy: IfNotPresent
        name: docker-registry
        ports:
        - containerPort: 5000
          name: http
          protocol: TCP
        volumeMounts:
        - mountPath: /var/lib/registry
          name: image-store
        - mountPath: /certs
          name: certs
      volumes:
      - name: image-store
        emptyDir: {}
      - name: certs
        configMap:
          name: certs
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: docker-registry
  name: docker-registry
spec:
  ports:
  - name: http
    port: 5000
    protocol: TCP
    targetPort: 5000
  selector:
    app: docker-registry
  type: ClusterIP

塞帕雷利,女主人和码头登记员,工作很好,但不要在一起。

从入口控制器日志中找不到任何值。

EN

回答 1

DevOps用户

发布于 2019-08-23 16:04:54

首先,404错误是kubernetes中的资源错误。这意味着容器不是由第一个脚本创建的。即使它是创建的,并且您可以看到它,那么您的标签在第二个脚本中是错误的。

我建议你检查两个YAML脚本的匹配标签。因此,在您的例子中,我可以看到,在第一个脚本的规范部分中,匹配标签是docker-注册表,但是在第二个脚本中,我没有看到任何docker-注册表。我认为,在您的元数据中,入口脚本的部分应该有"name =“而不是”name=docker“。

票数 2
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/4640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档