2023-01-13:joxit/docker-registry-ui是registry的web界面工具之一。请问部署在k3s中,yaml如何写?
答案2023-01-13:
yaml如下:
代码语言:javascript复制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