apt-get install open-iscsi apt-get install nfs-common bash, curl, findmnt, grep, awk, blkid, lsblk
sudo apt-get install open-iscsi nfs-common bash curl findmnt grep awk blkid lsblk
This repository contains the Kubernetes configuration for the Dunite cluster.
dunite-kub/
├── system/ # System and infrastructure applications
│ ├── cert-manager/ # Certificate management
│ ├── sealed-secrets/ # Secret encryption
│ ├── longhorn/ # Storage system
│ ├── kubernetes-dashboard/ # Cluster dashboard
│ ├── traefik/ # Ingress controller
│ └── storage-class/ # Storage class configuration
│
└── workloads/ # User applications
└── demo-app/ # Example application
Install ArgoCD in the cluster:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yamlRetrieve the ArgoCD password:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -dAccess the ArgoCD UI:
kubectl port-forward svc/argocd-server -n argocd 8080:443Open the browser and navigate to https://localhost:8080 and connect with admin and the password retrieved.
Deploy the system components in the following order:
-
Sealed Secrets:
kubectl apply -k system/sealed-secrets
-
Cert Manager:
kubectl apply -k system/cert-manager
-
Storage Class and Longhorn:
kubectl apply -k system/storage-class kubectl apply -k system/longhorn
-
Traefik Configuration:
kubectl apply -k system/traefik
-
Kubernetes Dashboard:
kubectl apply -k system/kubernetes-dashboard
After all system components are running, deploy the workloads:
kubectl apply -k workloads/demo-app-
Check system components:
kubectl get pods -A
-
Verify storage class:
kubectl get sc
-
Check certificates:
kubectl get certificates -A
-
Verify workload deployment:
kubectl get pods -n default
- Kubernetes Dashboard: Access via configured ingress (typically
https://k3s.yourdomain.com) - Longhorn Dashboard: Available at
http://localhost:8000after port-forwarding:kubectl port-forward -n longhorn-system svc/longhorn-frontend 8000:80
-
Check pod logs:
kubectl logs -n <namespace> <pod-name>
-
Check pod events:
kubectl describe pod -n <namespace> <pod-name>
-
View ArgoCD application status:
kubectl get applications -n argocd
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.