combined-registry.yaml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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-ui-2.6.0
  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. - name: REGISTRY_HOST
  112. value: "registry"
  113. - name: REGISTRY_PORT
  114. value: "5000"
  115. - name: CORS_ALLOW_ORIGIN
  116. value: "http://47.113.186.215:30501"
  117. - name: CORS_ALLOW_CREDENTIALS
  118. value: "true"
  119. - name: CORS_ALLOW_METHODS
  120. value: "GET, POST, PUT, DELETE, OPTIONS"
  121. - name: CORS_ALLOW_HEADERS
  122. value: "Origin, X-Requested-With, Content-Type, Accept, Authorization"
  123. ---
  124. apiVersion: v1
  125. kind: Service
  126. metadata:
  127. name: registry-ui
  128. namespace: registry
  129. spec:
  130. type: NodePort
  131. selector:
  132. app: registry-ui
  133. ports:
  134. - port: 80
  135. targetPort: 80
  136. nodePort: 30501