apiVersion: apps/v1 kind: Deployment metadata: name: apt-cacher-ng labels: app: apt-cacher-ng spec: replicas: 1 selector: matchLabels: app: apt-cacher-ng strategy: type: Recreate template: metadata: labels: app: apt-cacher-ng spec: containers: - name: apt-cacher-ng image: docker-registry.lan/apt-cacher-ng:arm64 ports: - containerPort: 3142 protocol: TCP volumeMounts: - mountPath: /var/cache/apt-cacher-ng name: data resources: requests: memory: "24Mi" cpu: "50m" limits: memory: "256Mi" cpu: "100m" volumes: - name: data persistentVolumeClaim: claimName: apt-cacher-volume --- apiVersion: v1 kind: Service metadata: name: apt-cacher-ng labels: app: apt-cacher-ng spec: ports: - name: apt-cacher-ng port: 3142 targetPort: 3142 protocol: TCP selector: app: apt-cacher-ng --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: apt-cacher-ng spec: rules: - host: apt-cache.lan http: paths: - backend: serviceName: apt-cacher-ng servicePort: 3142 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: apt-cacher-volume #annotations: # volume.beta.kubernetes.io/storage-class: "managed-nfs-storage" spec: storageClassName: nfs-ssd accessModes: - ReadWriteOnce resources: requests: storage: 40Gi