Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Minikube | 26,138 | 7 | 6 hours ago | 190 | September 15, 2022 | 827 | apache-2.0 | Go | ||
Run Kubernetes locally | ||||||||||
Awesome Kubernetes | 13,710 | 8 days ago | 1 | other | Shell | |||||
A curated list for awesome kubernetes sources :ship::tada: | ||||||||||
Kubeflow | 12,413 | 2 | 7 hours ago | 112 | April 13, 2021 | 401 | apache-2.0 | TypeScript | ||
Machine Learning Toolkit for Kubernetes | ||||||||||
Falco | 5,745 | 5 hours ago | 4 | March 01, 2019 | 94 | apache-2.0 | C++ | |||
Cloud Native Runtime Security | ||||||||||
Telepresence | 5,699 | 4 | 7 hours ago | 355 | September 23, 2022 | 395 | other | Go | ||
Local development against a remote Kubernetes or OpenShift cluster | ||||||||||
Kube Prometheus | 5,144 | 11 hours ago | 27 | June 17, 2022 | 181 | apache-2.0 | Jsonnet | |||
Use Prometheus to monitor Kubernetes and applications running on Kubernetes | ||||||||||
Pixie | 4,447 | 21 hours ago | 88 | April 24, 2021 | 236 | apache-2.0 | C++ | |||
Instant Kubernetes-Native Application Observability | ||||||||||
Strimzi Kafka Operator | 3,741 | 2 | 8 hours ago | 34 | September 06, 2022 | 138 | apache-2.0 | Java | ||
Apache Kafka® running on Kubernetes | ||||||||||
Devspace | 3,430 | a day ago | 161 | apache-2.0 | Go | |||||
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes. | ||||||||||
Descomplicandokubernetes | 3,253 | 19 days ago | 21 | gpl-3.0 | Shell | |||||
This repository aims to help you have an Airflow installation running in Kubernetes minikube.
This example expects a running kubernetes environment with helm installed. To setup it fast and easily (non-production), the following commands can be used:
minikube start -p airflow
kubectl apply -f 01_rbac_helm.yaml
helm init
kubectl create namespace airflow
In this example, we're using minikube. You can check Kubernetes official docs, for more details on how to install it.
To have the Airflow Kubernetes Operator working properly. The Operator expects the Kubernetes credentials in the path ~/.kube/config
by default. The following steps create the required Kubernetes credentials.
mkdir kubeconfig/ && cd kubeconfig/
cp ~/.minikube/client.* ~/.minikube/ca.crt .
kubectl config view --minify | cat > config
kubectl create secret generic kubeconfig --from-file=config --from-file=ca.crt --from-file=client.crt --from-file=client.key --namespace airflow
cd ..
rm -rf kubeconfig/
You don't need to change the following config, just to be aware of where it is been configured in the values.yaml
file.
extraVolumeMounts:
- name: kubeconfig
mountPath: /usr/local/airflow/.kube/
## Additional volumeMounts to the main containers in the Scheduler, Worker and Web pods.
# - name: synchronised-dags
# mountPath: /usr/local/airflow/dags
extraVolumes:
- name: kubeconfig
secret:
secretName: kubeconfig
In this example, we are using the official community helm chart.
helm install --namespace "airflow" --name "airflow" stable/airflow -f values.yaml
More details about how it works here.
cp ~/.ssh/id_rsa ~/.ssh/id_rsa.pub .
grep github ~/.ssh/known_hosts > known_hosts
kubectl create secret generic my-git-secret --from-file=id_rsa --from-file=known_hosts --from-file=id_rsa.pub --namespace airflow
rm id_rsa id_rsa.pub known_hosts
Change the values.yaml
git:
##
## url to clone the git repository
url: [email protected]:<MYREPO>/dags.git
##
## branch name, tag or sha1 to reset to
ref: master
## pre-created secret with key, key.pub and known_hosts file for private repos
secret: my-git-secret
initContainer:
## Fetch the source code when the pods starts
enabled: true
Every time you update your values.yaml
run the following command to apply the changes.
helm upgrade airflow -f values.yaml stable/airflow --namespace airflow
minikube dashboard -p airflow
kubectl port-forward svc/airflow-web -n airflow 8080
In the browser try http://localhost:8080
helm del --purge airflow
minikube delete -p airflow
rodrigodelmonte/docker-airflow:1.10.1
which uses the Dockerfile
from puckel/docker-airflow, There is no official docker image maintained by the Airflow community, the current one maintained by the community is being used for development only. Fell free to build your image and check the docker/
folder or try puckel/docker-airflow.