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: cr.lan/apt-cacher-ng:latest ports: - containerPort: 3142 protocol: TCP volumeMounts: - mountPath: /var/cache/apt-cacher-ng name: data resources: requests: memory: "64Mi" cpu: "50m" limits: memory: "192Mi" 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/v1 kind: Ingress metadata: name: apt-cacher-ng annotations: kubernetes.io/ingress.class: nginx spec: rules: - host: apt-cache.lan http: paths: - path: / pathType: Prefix backend: service: name: apt-cacher-ng port: number: 3142 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: apt-cacher-volume spec: storageClassName: nfs-ssd-ebin02 volumeName: apt-cacher-ng accessModes: - ReadWriteOnce resources: requests: storage: 40Gi --- apiVersion: v1 kind: PersistentVolume metadata: name: apt-cacher-ng spec: storageClassName: "nfs-ssd-ebin02" nfs: path: /data/raid1-ssd/k8s-data/apt-cacher-ng server: ebin02 capacity: storage: 40Gi accessModes: - ReadWriteOnce volumeMode: Filesystem persistentVolumeReclaimPolicy: Retain claimRef: kind: PersistentVolumeClaim name: apt-cacher-volume namespace: live-infra