Kind
- Pod
- PersistentVolume
- PersistentVolumeClaim
- Deployment
- DeploymentConfig
- ReplicaSet
- ReplicationController
- StorageClass
|
|
|
|
|
|
|
Volume
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolume
metadata:
name: chorke-pv
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: chorke-local-storage
hostPath:
path: /home/shahed/.chorke/academia/var/k8s
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.io/minikube-hostpath
operator: In
values:
- node-hostname
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: chorke-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: chorke-local-storage
EOF
|
cat <<EOF | kubectl delete -f -
apiVersion: v1
kind: PersistentVolume
metadata:
name: chorke-pv
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: chorke-local-storage
hostPath:
path: /home/shahed/.chorke/academia/var/k8s
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: k8s.io/minikube-hostpath
operator: In
values:
- node-hostname
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: chorke-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: chorke-local-storage
EOF
|
|
|
|
|
|
|
Storage
- Ceph RBD
- GlusterFS
- OpenEBS
- Longhorn
- Rook
Argo CD
kubectl create namespace argocd
kubectl get namespace -A
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl get -n=argocd pod
kubectl get -n=argocd service -n argocd
kubectl port-forward -n=argocd service/argocd-server 8080:80
kubectl get -n=argocd -o=yaml secret argocd-initial-admin-secret
echo RE83Uk81QTU5clZyLTlsdg== | base64 --decode
https://localhost:8080/login
kubectl get -n=argocd configmap
kubectl get -n=argocd deployment
kubectl get -n=argocd service
kubectl get -n=argocd secret
kubectl get -n=argocd event
kubectl get -n=argocd pod
|
kubectl edit -n=argocd configmap argocd-rbac-cm
kubectl edit -n=argocd configmap argocd-cm
kubectl edit -n=argocd deployment argocd-redis
kubectl edit -n=argocd service argocd-redis
kubectl edit -n=argocd secret argocd-secret
kubectl edit -n=argocd pod argocd-app-ctrl-0
|
kubectl get -n=argocd -o=yaml configmap argocd-rbac-cm
kubectl get -n=argocd -o=yaml configmap argocd-cm
kubectl get -n=argocd -o=yaml deployment argocd-redis
kubectl get -n=argocd -o=yaml service argocd-redis
kubectl get -n=argocd -o=yaml secret argocd-secret
kubectl get -n=argocd -o=yaml pod argocd-app-ctrl-0
|
Docker Config
kubectl create secret -n chorke generic image-pull-secret --from-file=.dockerconfigjson=${HOME}/.docker/config.json --type=kubernetes.io/dockerconfigjson
kubectl get secret -n chorke image-pull-secret -o "jsonpath={.data.\.dockerconfigjson}" | base64 --decode
kubectl get secret -n chorke image-pull-secret -o yaml
kubectl delete secret -n chorke image-pull-secret
kubectl get pods -A -o jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.containers[*]}{.image}{", "}{end}{end}' |sort
kubectl get pods -A -o jsonpath="{.items[*].spec.containers[*].image}" |tr -s 'space:' '\n' |sort |uniq -c
kubectl get pod academia-<hash> -n chorke -o yaml
kubectl describe pod academia-<hash> -n chorke
kubectl delete pod academia-<hash> -n chorke
kubectl edit pod academia-<hash> -n chorke
kubectl get pod academia-<hash> -n chorke
Knowledge
snap services maas
snap services juju
snap services lxd
|
minikube addons enable default-storageclass
minikube addons enable metrics-server
minikube addons enable metallb
|
minikube addons configure metallb
minikube addons enable olm
minikube addons list
|
|
kubectl exec -it <pod-nmae-hash> -- bash
kubectl exec -it <pod-name-hash> -n <ns> -- bash
kubectl exec -it <pod-name-hash> -n <ns> -- printenv
|
kubectl logs <pod-nmae-hash>
kubectl logs <pod-nmae-hash> -n <ns>
kubectl logs <pod-nmae-hash> -n <ns> -p
|
minikube addons enable ingress
kubectl get pods -n ingress-nginx
kubectl logs <pod-nmae-hash> -c <image-name> -n <ns>
|
|
minikube addons enable ingress-dns
nslookup academia.local $(minikube ip)
kubectl get configmap coredns -n kube-system -o yaml
|
|
|
References