fix: remove NFS chart fetch dependency
Deploy Cluster / Terraform (push) Successful in 1m37s
Deploy Cluster / Ansible (push) Has been cancelled

This commit is contained in:
2026-04-26 07:48:11 +00:00
parent 8b94e4dd06
commit ff9e58d44f
12 changed files with 129 additions and 53 deletions
+6 -3
View File
@@ -419,7 +419,8 @@ jobs:
ghcr.io/fluxcd/notification-controller:v1.8.1 \
oci.external-secrets.io/external-secrets/external-secrets:v2.1.0 \
ghcr.io/tailscale/k8s-operator:v1.96.5 \
ghcr.io/tailscale/tailscale:v1.96.5; do
ghcr.io/tailscale/tailscale:v1.96.5 \
registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2; do
prepare_image_archive "${image}"
done
@@ -724,8 +725,10 @@ jobs:
import_required_image ghcr.io/tailscale/tailscale:v1.96.5 "${PRIMARY_CP_IP}"
wait_for_flux_helm_release tailscale flux-system-tailscale-operator tailscale-operator tailscale-system 600s 900s 900
kubectl -n tailscale-system rollout status deployment/operator --timeout=600s
wait_for_flux_helm_release nfs-subdir-external-provisioner flux-system-nfs-subdir-external-provisioner nfs-subdir-external-provisioner kube-system 600s 600s 600
kubectl -n kube-system rollout status deployment/kube-system-nfs-subdir-external-provisioner --timeout=600s
import_required_image registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 "${PRIMARY_CP_IP}"
kubectl -n flux-system annotate kustomization/addon-nfs-storage reconcile.fluxcd.io/requestedAt="$(date +%s)" --overwrite
kubectl -n flux-system wait --for=condition=Ready kustomization/addon-nfs-storage --timeout=300s
kubectl -n kube-system rollout status deployment/nfs-subdir-external-provisioner --timeout=300s
kubectl annotate storageclass local-path storageclass.kubernetes.io/is-default-class=false --overwrite
kubectl annotate storageclass flash-nfs storageclass.kubernetes.io/is-default-class=true --overwrite
kubectl get storageclass flash-nfs
@@ -10,11 +10,11 @@ spec:
kind: GitRepository
name: platform
path: ./infrastructure/addons/nfs-storage
wait: false
wait: true
healthChecks:
- apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
- apiVersion: apps/v1
kind: Deployment
name: nfs-subdir-external-provisioner
namespace: flux-system
namespace: kube-system
timeout: 10m
suspend: false
@@ -0,0 +1,20 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: nfs-subdir-external-provisioner-runner
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["create", "update", "patch"]
@@ -0,0 +1,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: run-nfs-subdir-external-provisioner
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: nfs-subdir-external-provisioner-runner
subjects:
- kind: ServiceAccount
name: nfs-subdir-external-provisioner
namespace: kube-system
@@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nfs-subdir-external-provisioner
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: nfs-subdir-external-provisioner
template:
metadata:
labels:
app: nfs-subdir-external-provisioner
spec:
serviceAccountName: nfs-subdir-external-provisioner
nodeSelector:
kubernetes.io/hostname: k8s-cluster-cp-1
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
containers:
- name: nfs-subdir-external-provisioner
image: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
imagePullPolicy: IfNotPresent
env:
- name: PROVISIONER_NAME
value: flash-nfs
- name: NFS_SERVER
value: 10.27.27.239
- name: NFS_PATH
value: /TheFlash/k8s-nfs
volumeMounts:
- name: nfs-subdir-external-provisioner-root
mountPath: /persistentvolumes
volumes:
- name: nfs-subdir-external-provisioner-root
nfs:
server: 10.27.27.239
path: /TheFlash/k8s-nfs
@@ -1,36 +0,0 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: nfs-subdir-external-provisioner
namespace: flux-system
spec:
interval: 10m
targetNamespace: kube-system
chart:
spec:
chart: nfs-subdir-external-provisioner
version: 4.0.18
sourceRef:
kind: HelmRepository
name: nfs-subdir-external-provisioner
namespace: flux-system
install:
createNamespace: true
remediation:
retries: 3
upgrade:
remediation:
retries: 3
values:
nfs:
server: 10.27.27.239
path: /TheFlash/k8s-nfs
storageClass:
create: true
defaultClass: true
name: flash-nfs
provisionerName: flash-nfs
reclaimPolicy: Delete
archiveOnDelete: true
allowVolumeExpansion: true
volumeBindingMode: Immediate
@@ -1,8 +0,0 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: nfs-subdir-external-provisioner
namespace: flux-system
spec:
interval: 1h
url: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
@@ -1,5 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- helmrepository-nfs-subdir-external-provisioner.yaml
- helmrelease-nfs-subdir-external-provisioner.yaml
- serviceaccount-nfs-subdir-external-provisioner.yaml
- clusterrole-nfs-subdir-external-provisioner.yaml
- clusterrolebinding-nfs-subdir-external-provisioner.yaml
- role-nfs-subdir-external-provisioner.yaml
- rolebinding-nfs-subdir-external-provisioner.yaml
- storageclass-flash-nfs.yaml
- deployment-nfs-subdir-external-provisioner.yaml
@@ -0,0 +1,9 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: leader-locking-nfs-subdir-external-provisioner
namespace: kube-system
rules:
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
@@ -0,0 +1,13 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: leader-locking-nfs-subdir-external-provisioner
namespace: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: leader-locking-nfs-subdir-external-provisioner
subjects:
- kind: ServiceAccount
name: nfs-subdir-external-provisioner
namespace: kube-system
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: nfs-subdir-external-provisioner
namespace: kube-system
@@ -0,0 +1,12 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: flash-nfs
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: flash-nfs
parameters:
archiveOnDelete: "true"
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate