diff --git a/kustomization.yaml b/kustomization.yaml index 0a4cf53..abc7074 100644 --- a/kustomization.yaml +++ b/kustomization.yaml @@ -5,6 +5,7 @@ resources: - application.yaml # Storage systems - minio/argocd.yaml + - zot/argocd.yaml # PostgreSQL databases - postgresql/argocd/postgresql.yaml - postgresql-dev/argocd.yaml diff --git a/longhorn/argocd.yaml b/longhorn/argocd.yaml deleted file mode 100644 index 088f820..0000000 --- a/longhorn/argocd.yaml +++ /dev/null @@ -1,125 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: longhorn - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - sources: - - repoURL: https://charts.longhorn.io - chart: longhorn - targetRevision: 1.10.1 - helm: - valueFiles: - - $values/longhorn/helm-values.yaml - - repoURL: https://github.com/K3S-HOME/storage.git - targetRevision: main - ref: values - - repoURL: https://github.com/K3S-HOME/storage.git - targetRevision: main - path: longhorn - kustomize: {} - destination: - server: https://kubernetes.default.svc - namespace: longhorn - syncPolicy: - automated: - prune: true - selfHeal: true - allowEmpty: false - syncOptions: - - CreateNamespace=true - - PrunePropagationPolicy=foreground - - PruneLast=true - - RespectIgnoreDifferences=true - - ServerSideApply=true - retry: - limit: 5 - backoff: - duration: 5s - factor: 2 - maxDuration: 3m - managedNamespaceMetadata: - labels: - goldilocks.fairwinds.com/enabled: 'true' - revisionHistoryLimit: 10 - ignoreDifferences: - - group: "" - kind: ServiceAccount - name: longhorn-service-account - jsonPointers: - - /metadata/resourceVersion - - /metadata/uid - - /secrets - - group: apiextensions.k8s.io - kind: CustomResourceDefinition - name: engines.longhorn.io - jqPathExpressions: - - .spec.conversion.webhook.clientConfig - - .status - - .metadata.annotations - - .metadata.generation - - .metadata.resourceVersion - - .spec.preserveUnknownFields - - group: apiextensions.k8s.io - kind: CustomResourceDefinition - name: engineimages.longhorn.io - jqPathExpressions: - - .spec.conversion.webhook.clientConfig - - .status - - .metadata.annotations - - .metadata.generation - - .metadata.resourceVersion - - .spec.preserveUnknownFields - - group: apiextensions.k8s.io - kind: CustomResourceDefinition - name: instancemanagers.longhorn.io - jqPathExpressions: - - .spec.conversion.webhook.clientConfig - - .status - - .metadata.annotations - - .metadata.generation - - .metadata.resourceVersion - - .spec.preserveUnknownFields - - group: apiextensions.k8s.io - kind: CustomResourceDefinition - name: nodes.longhorn.io - jqPathExpressions: - - .spec.conversion.webhook.clientConfig - - .status - - .metadata.annotations - - .metadata.generation - - .metadata.resourceVersion - - .spec.preserveUnknownFields - - group: apiextensions.k8s.io - kind: CustomResourceDefinition - name: replicas.longhorn.io - jqPathExpressions: - - .spec.conversion.webhook.clientConfig - - .status - - .metadata.annotations - - .metadata.generation - - .metadata.resourceVersion - - .spec.preserveUnknownFields - - group: apiextensions.k8s.io - kind: CustomResourceDefinition - name: settings.longhorn.io - jqPathExpressions: - - .spec.conversion.webhook.clientConfig - - .status - - .metadata.annotations - - .metadata.generation - - .metadata.resourceVersion - - .spec.preserveUnknownFields - - group: apiextensions.k8s.io - kind: CustomResourceDefinition - name: volumes.longhorn.io - jqPathExpressions: - - .spec.conversion.webhook.clientConfig - - .status - - .metadata.annotations - - .metadata.generation - - .metadata.resourceVersion - - .spec.preserveUnknownFields diff --git a/longhorn/helm-values.yaml b/longhorn/helm-values.yaml deleted file mode 100644 index cca228a..0000000 --- a/longhorn/helm-values.yaml +++ /dev/null @@ -1,149 +0,0 @@ -# Longhorn Helm Values -# Chart: https://github.com/longhorn/longhorn - -# Pre-upgrade checker - disable for ArgoCD/GitOps (per Longhorn docs) -preUpgradeChecker: - jobEnabled: false - upgradeVersionCheck: false - -# Persistence settings -persistence: - defaultClass: true # Set Longhorn as default StorageClass - defaultClassReplicaCount: 2 # Number of replicas for high availability - reclaimPolicy: Retain # Keep PV data when PVC is deleted - -# Default settings -defaultSettings: - # Storage - defaultReplicaCount: 2 # Default number of replicas for volumes - defaultDataPath: /mnt/longhorn-storage # Data storage path on nodes (NEW: dedicated 50GB disks) - - # Taint toleration for data plane components (instance-manager, etc.) - taintToleration: "node-role.kubernetes.io/master:NoExecute" - - # Node selector for system managed components (instance-manager, engine-image, etc.) - systemManagedComponentsNodeSelector: "longhorn:enabled" - - # Backup settings - backupTarget: "" # S3/NFS backup target (configure later if needed) - backupTargetCredentialSecret: "" - - # Performance - guaranteedInstanceManagerCPU: 5 # 5% CPU for instance managers - createDefaultDiskLabeledNodes: true # Auto-discover storage on labeled nodes - - # Node scheduling - replicaSoftAntiAffinity: true # Prefer to spread replicas across nodes - replicaAutoBalance: best-effort # Auto-balance replicas - storageOverProvisioningPercentage: 200 # Allow 200% overprovisioning - storageMinimalAvailablePercentage: 10 # Keep 10% storage available - - # Snapshot and backup - snapshotDataIntegrity: fast-check # Fast integrity check for snapshots - snapshotDataIntegrityImmediateCheckAfterSnapshotCreation: false - - # Auto cleanup - orphanAutoDeletion: true # Auto delete orphaned resources - -# Longhorn Manager (control plane) -longhornManager: - priorityClass: ~ - tolerations: - - key: "node-role.kubernetes.io/master" - operator: "Exists" - effect: "NoExecute" - nodeSelector: - longhorn: "enabled" # worker-1 제외 - -# Longhorn Driver (CSI driver) -longhornDriver: - priorityClass: ~ - tolerations: - - key: "node-role.kubernetes.io/master" - operator: "Exists" - effect: "NoExecute" - nodeSelector: - longhorn: "enabled" # worker-1 제외 - -# Longhorn UI -longhornUI: - replicas: 1 - priorityClass: ~ - tolerations: - - key: "node-role.kubernetes.io/master" - operator: "Exists" - effect: "NoExecute" - nodeSelector: {} - -# CSI components -csi: - attacherReplicaCount: 1 - provisionerReplicaCount: 1 - resizerReplicaCount: 1 - snapshotterReplicaCount: 1 - -# Ingress for Longhorn UI -ingress: - enabled: true - ingressClassName: traefik - host: longhorn0213.kro.kr - tls: true - tlsSecret: longhorn-tls - path: / - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod - -# Service configuration -service: - ui: - type: ClusterIP - nodePort: null - -# Monitoring -metrics: - serviceMonitor: - enabled: true - additionalLabels: - release: prometheus - -enablePSP: false # Pod Security Policy (deprecated in K8s 1.25+) - -# Resources - NO CPU LIMITS per user request -resources: - longhornManager: - requests: - cpu: 100m - memory: 256Mi - limits: - # cpu: not set to prevent throttling - memory: 512Mi - - longhornDriver: - requests: - cpu: 50m - memory: 128Mi - limits: - # cpu: not set to prevent throttling - memory: 256Mi - - longhornUI: - requests: - cpu: 50m - memory: 64Mi - limits: - # cpu: not set to prevent throttling - memory: 128Mi - -# Default StorageClass parameters -defaultStorageClass: - enabled: true - name: longhorn - defaultClass: true - reclaimPolicy: Retain - allowVolumeExpansion: true - parameters: - numberOfReplicas: "2" - staleReplicaTimeout: "2880" # 48 hours - fromBackup: "" - fsType: "ext4" - dataLocality: "disabled" # Allow scheduling on any node diff --git a/longhorn/kustomization.yaml b/longhorn/kustomization.yaml deleted file mode 100644 index f738f5b..0000000 --- a/longhorn/kustomization.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: longhorn -resources: -- manifests/mayne-vcn.yaml -- manifests/mayne-worker-1.yaml -- manifests/mayne-worker-2.yaml diff --git a/longhorn/manifests/mayne-vcn.yaml b/longhorn/manifests/mayne-vcn.yaml deleted file mode 100644 index ab958a7..0000000 --- a/longhorn/manifests/mayne-vcn.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: longhorn.io/v1beta2 -kind: Node -metadata: - name: mayne-vcn - namespace: longhorn -spec: - allowScheduling: false - disks: - new-disk: - allowScheduling: false - diskType: filesystem - evictionRequested: true - path: /mnt/longhorn-storage - storageReserved: 5368709120 - tags: [] diff --git a/longhorn/manifests/mayne-worker-1.yaml b/longhorn/manifests/mayne-worker-1.yaml deleted file mode 100644 index 5e8556c..0000000 --- a/longhorn/manifests/mayne-worker-1.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: longhorn.io/v1beta2 -kind: Node -metadata: - name: mayne-worker-1 - namespace: longhorn -spec: - allowScheduling: true - disks: - new-disk: - allowScheduling: true - diskType: filesystem - evictionRequested: false - path: /mnt/longhorn-storage - storageReserved: 5368709120 - tags: [] diff --git a/longhorn/manifests/mayne-worker-2.yaml b/longhorn/manifests/mayne-worker-2.yaml deleted file mode 100644 index 556366a..0000000 --- a/longhorn/manifests/mayne-worker-2.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: longhorn.io/v1beta2 -kind: Node -metadata: - name: mayne-worker-2 - namespace: longhorn -spec: - allowScheduling: true - disks: - new-disk: - allowScheduling: true - diskType: filesystem - evictionRequested: false - path: /mnt/longhorn-storage - storageReserved: 5368709120 - tags: []