Kube && Helm
- K8s how to collect metrics
- How to debug Kubernetes Ingress
- Monitoring, Logging and Alerting in Kubernetes
kubectl get pods -A
helm repo add prometheus https://prometheus-community.github.io/helm-charts
helm upgrade --install prometheus prometheus/prometheus --namespace monitoring --create-namespace
kubectl get pods --namespace monitoring -l "app.kubernetes.io/name=prometheus,app.kubernetes.io/instance=prometheus" -o jsonpath="{.items[0].metadata.name}"
- Horizontal Pod Autoscaler Custom Metrics & Prometheus: K8s and EKS)
- How to install Metrics Server on Kubernetes cluster
- PromCon 2017: lighting talk - kube-state-metrics- Fredric Branczyc
- Secret way to learn K8S
- Kubernetes Cert Manager explained
- Install kind on debian
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update- Install kubernetes
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /" | \
sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
- Kind to create cluster
rm -rf /etc/cni/net.d
rm -rf /var/lib/cni
systemctl restart containerd
systemctl restart kubelet
mkdir -p $HOME/.kube
kubeadm version
containerd --version
uname -a
kubeadm init
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
kubectl get pods -n kube-system
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml --validate=fals
snap install helm --classic
helm repo add jetstack https://charts.jetstack.io
helm repo update
kubectl create namespace cert-manager
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/latest/download/cert-manager.crds.yaml
sudo mkdir -p /usr/lib/cni
sudo ln -s /opt/cni/bin/* /usr/lib/cni/
sudo systemctl restart containerd
sudo systemctl restart kubelet
kubectl delete pod -n cert-manager --all
ping -c 4 8.8.8.8
sudo ln -sf /opt/cni/bin/* /usr/lib/cni/
helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.14.4
kubectl get pods -n cert-manager
kubectl logs cert-manager-6dc66985d4-grlsd -n cert-manager
kubectl get all -n cert-manager
kubectl create ns cert-manager-test
cd work/
mkdir self-signes-k8s
vi issuer.yaml
vi certificate.yaml
kubectl describe certificate -n cert-manager-test
kubectl get secrets -n cert-manager-test
kind: Secret
metadata:
annotations:
cert-manager.io/alt-names: example.com
cert-manager.io/certificate-name: selfsigned-cert
cert-manager.io/common-name: ""
cert-manager.io/ip-sans: ""
cert-manager.io/issuer-group: ""
cert-manager.io/issuer-kind: ""
cert-manager.io/issuer-name: test-selfsigned
cert-manager.io/uri-sans: ""
- Kubernetes API Explained
- Kubernetes POD Draining for Node Maintenance
- Isolate a Pod Kubernetes
- Deploy metrics-server in Kubernetes using Helm
- Kube state metrics
- K Ingress
- K8s CoreDns
k get pods -n=kube-system
k get deploy -n=kube-system
k scale deploy coredns --replicas=2 -n=kube-system
k get pods -n=kube-system
k exec -it nginx -- curl nginx1
k get svc -n=kube-system (kube-dns|ClusterIP)\
cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local
nameserver ip
cat /etc/hosts --> add entry in /etc/hosts
- K9s Demo
a) arkade | grep k9s
b) column - shortcut gives us access between resources
c) Ctrl + A gives us access to all resources.
d) Logs can be seen by accessing pod
- Get deployments and statefullsets in log
┌─[bo@ldap]─[~]
└──╼ $kubectl get -A Deployments | tee -a log.txt
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
kube-system coredns 1/1 1 1 72d
┌─[bo@ldap]─[~]
└──╼ $kubectl get -A StatefulSets | tee -a og.txt
No resources found
- SideCar pods - sidecar
- Rolling update strategy
Comentarii
Trimiteți un comentariu