Kubernetes
November 25, 2023DOCS: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#container-v1-core
ingress
https://kubernetes.io/docs/concepts/services-networking/ingress/
https://medium.com/@cashisclay/kubernetes-ingress-82aa960f658e
https://kubernetes.github.io/ingress-nginx/deploy/#minikube
addon
minikube addons enable ingress
running own
MUST start kubectl proxy
domains
local only domain.
- edit host file on machine to point to minikube ip
- edit host file on minikube vm as well
nginx
https://hackernoon.com/setting-up-nginx-ingress-on-kubernetes-2b733d8d2f45
https://github.com/gokulchandra/k8s-ingress-setup
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/
storage
https://supergiant.io/blog/persistent-storage-with-persistent-volumes-in-kubernetes
debugging
kubectl cluster-info dump
kubectl get pods -n kube-system
minikube
minikube start --kubernetes-version v1.11.4 --memory 4096
azure
https://docs.microsoft.com/en-us/azure/aks/developer-best-practices-resource-management
resources
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
promql
https://medium.com/@amimahloof/kubernetes-promql-prometheus-cpu-aggregation-walkthrough-2c6fd2f941eb
Config Maps
Config maps are great to inject data into a pod.
kubectl create configmap rake-task --from-file=./lib/tasks/one_time/preprocess_active_storage.rake -n my-namespace
To use:
apiVersion: batch/v1
kind: Job
metadata:
namespace: my-namespace
name: process-attachments
spec:
backoffLimit: 0
template:
spec:
restartPolicy: Never
volumes:
- name: task-volume
configMap:
name: rake-task # Reference the created ConfigMap
items:
- key: preprocess_active_storage.rake
path: preprocess_active_storage.rake
containers:
command:
- /bin/bash
- -c
- |
cat /usr/src/lib/tasks/one_time/preprocess_active_storage.rake
volumeMounts:
- name: task-volume
mountPath: /usr/src/lib/tasks/one_time/
You can execute your task in container.