Skip to content

ozeliurs/dunite-kub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dunite Kubernetes Configuration

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.

Directory Structure

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

Deployment Procedure

1. Install ArgoCD

Install ArgoCD in the cluster:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

Retrieve the ArgoCD password:

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

Access the ArgoCD UI:

kubectl port-forward svc/argocd-server -n argocd 8080:443

Open the browser and navigate to https://localhost:8080 and connect with admin and the password retrieved.

2. Deploy System Components

Deploy the system components in the following order:

  1. Sealed Secrets:

    kubectl apply -k system/sealed-secrets
  2. Cert Manager:

    kubectl apply -k system/cert-manager
  3. Storage Class and Longhorn:

    kubectl apply -k system/storage-class
    kubectl apply -k system/longhorn
  4. Traefik Configuration:

    kubectl apply -k system/traefik
  5. Kubernetes Dashboard:

    kubectl apply -k system/kubernetes-dashboard

3. Deploy Workloads

After all system components are running, deploy the workloads:

kubectl apply -k workloads/demo-app

Verification

  1. Check system components:

    kubectl get pods -A
  2. Verify storage class:

    kubectl get sc
  3. Check certificates:

    kubectl get certificates -A
  4. Verify workload deployment:

    kubectl get pods -n default

Accessing Services

  • Kubernetes Dashboard: Access via configured ingress (typically https://k3s.yourdomain.com)
  • Longhorn Dashboard: Available at http://localhost:8000 after port-forwarding:
    kubectl port-forward -n longhorn-system svc/longhorn-frontend 8000:80

Troubleshooting

  1. Check pod logs:

    kubectl logs -n <namespace> <pod-name>
  2. Check pod events:

    kubectl describe pod -n <namespace> <pod-name>
  3. View ArgoCD application status:

    kubectl get applications -n argocd

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published