2023-01-13:joxit/docker-registry-ui是registry的web界面工具之一。请问部署在k3s中,yaml如何写?

2023-01-13:joxit/docker-registry-ui是registry的web界面工具之一。请问部署在k3s中,yaml如何写?

答案2023-01-13:

yaml如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: docker-registry-ui
  name: docker-registry-ui
  namespace: droneci
spec:
  replicas: 1
  selector:
    matchLabels:
      app: docker-registry-ui
  template:
    metadata:
      labels:
        app: docker-registry-ui
    spec:
      containers:
        - env:
            - name: "DELETE_IMAGES"
              value: "true"
            - name: "REGISTRY_TITLE"
              value: "Docker registry UI"
            # - name: "REGISTRY_URL"
            #   value: "http://registry:5000"
            - name: NGINX_PROXY_PASS_URL
              value: "http://registry:5000"
            - name: PULL_URL
              value: "docker-registry-ui:80"
            - name: SINGLE_REGISTRY
              value: "true"
          image: "joxit/docker-registry-ui:latest"
          imagePullPolicy: IfNotPresent
          name: docker-registry-ui
          securityContext:
            privileged: true
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: docker-registry-ui
  name: docker-registry-ui
  namespace: droneci
spec:
  ports:
    - port: 80
      protocol: TCP
      targetPort: 80
  selector:
    app: docker-registry-ui
  type: NodePort

---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: registry
  name: registry
  namespace: droneci
data:
  config.yml: |
    version: 0.1
    log:
      fields:
        service: registry
    storage:
      cache:
        blobdescriptor: inmemory
      filesystem:
        rootdirectory: /var/lib/registry
    http:
      addr: :5000
      headers:
        X-Content-Type-Options: ['*']
        Access-Control-Allow-Origin: ['*']
        Access-Control-Allow-Methods: ['*']
    health:
      storagedriver:
        enabled: true
        interval: 10s
        threshold: 3

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: registry
  namespace: droneci
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
    - host: dockergit.dsy.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: registry
                port:
                  number: 5000
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: registry
  name: registry
  namespace: droneci
spec:
  replicas: 1
  selector:
    matchLabels:
      app: registry
  template:
    metadata:
      labels:
        app: registry
    spec:
      containers:
        - image: "registry"
          imagePullPolicy: IfNotPresent
          name: registry
          volumeMounts:
            - mountPath: /var/lib/registry
              name: volv
            - mountPath: /etc/docker/registry/config.yml
              subPath: config.yml
              name: volv2
      volumes:
        - hostPath:
            path: /root/k8s/droneci/registry/var/lib/registry
            type: DirectoryOrCreate
          name: volv
        - configMap:
            name: registry
          name: volv2
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: registry
  name: registry
  namespace: droneci
spec:
  ports:
    - port: 5000
      nodePort: 50000
      protocol: TCP
      targetPort: 5000
  selector:
    app: registry
  type: NodePort

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

posted @ 2023-01-13 22:07  福大大架构师每日一题  阅读(26)  评论(0编辑  收藏  举报  来源