K8s Hands-on - 2
Dashboard
Reference file for dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
Similar file, is present at Katacoda course
Each worker node has Kubelet. cAdvisor (port 4194) is part of Kubelet binary. It collects following data for node, pods and containers.
- CPU usage
- Memory usage
- File system
- Network usage
Heapster collect / aggregate all the above data from cAdvisor over REST API. Heapster store this data to InfluxDB. Grafana access the data from InfluxDB and visulaise
Heapster cal also store data in Google Cloud Monitoring service. Then Google Cloud Monitoring Console can access this data and visualize it.
====================================
Horizontal scaling is possible with below command
kubectl scale --replicas=3 deployment x
====================================
Few more useful alias
alias kc='kubectl create'
alias kd='kubectl delete'
alias ka='kubectl apply'
Deployment can be store mannually as YAML file and created back again using that YAML file.
kg deployment x -o yaml
k delete svc x
k delete deployment x
k create -f x.yaml
kubectl expose deployment x --port=80 --type=NodePort
Same applies for service
kg svc x -o yaml
kd svc x
kc -f x_svc.xml
Remove undwanted lines and change replicas value.
ka -f x.yaml
==========================================
Guestbook example
kc -f redis_m_controller.yaml
kg rc
Same example https://kubernetes.io/docs/tutorials/stateless-application/guestbook/ So related YAML files are also similar. E.g.
redis-master-controller.yaml is same as
https://k8s.io/examples/application/guestbook/redis-master-deployment.yaml
redis-master-.yaml is same as
https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/guestbook/redis-master-service.yaml
Same for redis-slave and PHP frontend.
===========================================
To see log from any pod
k logs -f POD_NAME
To see log from any container
k logs POD_NAME -c CONTAINER_NAME
===========================================
To get details about CRDs
kubectl get crd
kubectl api-reference | grep "output of previous command"
If the APIGROUP column is empty in output of "kubectl api-reference" command, then its default value is v1 that denote stable object.
1 comments:
https://github.com/ahmetb/kubectl-aliases
https://ahmet.im/blog/kubectl-aliases/
Post a Comment