combined-registry.yaml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: registry
  5. ---
  6. apiVersion: v1
  7. kind: Secret
  8. metadata:
  9. name: registry-auth
  10. namespace: registry
  11. type: Opaque
  12. data:
  13. # 注意:这里要填 base64 编码后的 htpasswd 内容
  14. htpasswd: YWRtaW46JDJ5JDEwJEs4NlE4NnkycU5VUWdCM3lEMlEuN1k5N2w4cW9hRTlGcWp3bXlLaQ==
  15. ---
  16. apiVersion: v1
  17. kind: PersistentVolumeClaim
  18. metadata:
  19. name: registry-pvc
  20. namespace: registry
  21. spec:
  22. accessModes:
  23. - ReadWriteOnce
  24. resources:
  25. requests:
  26. storage: 10Gi
  27. ---
  28. apiVersion: apps/v1
  29. kind: Deployment
  30. metadata:
  31. name: registry
  32. namespace: registry
  33. spec:
  34. replicas: 1
  35. selector:
  36. matchLabels:
  37. app: registry
  38. template:
  39. metadata:
  40. labels:
  41. app: registry
  42. spec:
  43. containers:
  44. - name: registry
  45. image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:amd64-linux-docker-registry-v2
  46. ports:
  47. - containerPort: 5000
  48. env:
  49. - name: REGISTRY_AUTH
  50. value: "htpasswd"
  51. - name: REGISTRY_AUTH_HTPASSWD_REALM
  52. value: "Registry Realm"
  53. - name: REGISTRY_AUTH_HTPASSWD_PATH
  54. value: "/auth/htpasswd"
  55. - name: REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY
  56. value: "/var/lib/registry"
  57. volumeMounts:
  58. - name: auth
  59. mountPath: /auth
  60. - name: data
  61. mountPath: /var/lib/registry
  62. volumes:
  63. - name: auth
  64. secret:
  65. secretName: registry-auth
  66. - name: data
  67. persistentVolumeClaim:
  68. claimName: registry-pvc
  69. ---
  70. apiVersion: v1
  71. kind: Service
  72. metadata:
  73. name: registry
  74. namespace: registry
  75. spec:
  76. type: NodePort
  77. selector:
  78. app: registry
  79. ports:
  80. - port: 5000
  81. targetPort: 5000
  82. nodePort: 30500
  83. ---
  84. apiVersion: apps/v1
  85. kind: Deployment
  86. metadata:
  87. name: registry-ui
  88. namespace: registry
  89. spec:
  90. replicas: 1
  91. selector:
  92. matchLabels:
  93. app: registry-ui
  94. template:
  95. metadata:
  96. labels:
  97. app: registry-ui
  98. spec:
  99. containers:
  100. - name: registry-ui
  101. image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:linux-amd64-docker-registry-frontend-v2
  102. ports:
  103. - containerPort: 80
  104. env:
  105. - name: REGISTRY_URL
  106. value: "http://registry:5000"
  107. - name: REGISTRY_TITLE
  108. value: "K3s Private Registry"
  109. - name: SINGLE_REGISTRY
  110. value: "true"
  111. ---
  112. apiVersion: v1
  113. kind: Service
  114. metadata:
  115. name: registry-ui
  116. namespace: registry
  117. spec:
  118. type: NodePort
  119. selector:
  120. app: registry-ui
  121. ports:
  122. - port: 80
  123. targetPort: 80
  124. nodePort: 30501