K8S Tools


K8S Native Tools
===========

Minikube

It has many addons

minikube addons list

--insecure-registry flag for private docker registry.
OR
registry-creads addon to use GCR ECR and private docker registry.  

Advanced topics: https://github.com/kubernetes/minikube/tree/master/docs

Kops

To manage production-grade k8s clusters using CLI on AWS etc. It creates configuration file, that can be used to create actual clusters. It is like kubectl for AWS. 

https://github.com/kubernetes/kops/tree/master/docs

kubeadm

Master Node needs : docker, kubeadm, kubelet, kubectl. Worker Node needs : Kubeadm
Master : kubeadm init It gives "joint token" to be used at worker node. with command kubeadm join

https://www.ianlewis.org/en/how-kubeadm-initializes-your-kubernetes-master

Dashboard

1. Manage k8s apps
2. troubleshoot issue with k8s apps
3. manage entire k8s cluster. 

It is add-on for Minikube and application for real K8s cluster. It needs kubectl proxy. 

https://github.com/kubernetes/dashboard

kubefed

1. sync resources across clusters
2. cross-cluster discovery (DNS and load balancer) 

With federated clustered we can have hybrid cloud and multi-vendor cloud. 

https://kubernetes.io/docs/tasks/federation/set-up-cluster-federation-kubefed/

Kompose

converts Docker compose to K8s objects like deployments and services

Docker -> Compose
K8s -> Replication Controller = deployments + replica sets
Rancher -> Cattle
Stack Engine -> applications and deployments


Github link: https://github.com/kubernetes/kompose
Architecture: http://kompose.io/architecture/

Helm

Installations and management of K8s apps. it is like package manager. 
chart = pre-configured k8s resources
Helm (client at local host) -> Tiller (server at K8s cluster) 

chart = 
1. chart.yml
2. Templates
3. values.yml

Kubernetes/Charts at github has list of important projects https://github.com/helm/charts

Helm charts: https://github.com/kubernetes/helm/blob/master/docs/charts.md
Stable charts: https://github.com/kubernetes/charts/tree/master/stable

Draft, Gitkube, Helm, Ksonnet, Metaparticle and Skaffold are some of the tools around that help developers build and deploy their apps on Kubernetes

kubectl

3 namespace always exists
1. default
2. kube-public
3. kube-system

Auto Complete

https://blog.hasura.io/kubectl-bash-completion-on-coreos-b147ae94ff10/
https://www.cyberciti.biz/faq/add-bash-auto-completion-in-ubuntu-linux/

knative

Knative helps developers build, deploy, and manage modern serverless workloads on Kubernetes. Kubeless is one more such solution for serverless. 


CNCF Tools
=======

gRPC will replace SOAP and REST. Payload is protobuf. 

Consul and etcd are for service discovery. CoreDNS is from CNCF that can replace kube-dns

Service-mesh handles communication among micro services and network intricacies. Linkerd  transparent network proxy. Envoy small server with small footprint. Both support gRPC and http2 

CNI is plugin-based networking solutions for containers. Calico and flannel are most popular networking provider. 

GlusterFS and Ceph are for storage. Rook file, object and block storage system. Rook runs as an operator and creates Rook cluster using PV.

rkt and containerd are for container runtime

Prometheus is CNCF project for monitoring and many vendor specific such similar projects. Add metrics to application and to add exporter to use at Prometheus. PromoQL is its query language. Its alert manager has many good features and can integrate with PagerDuty. Prometheus for backend. Front end can be Grafana. 

Logging : Beats / Elastic Stack, Grayling, Fluentd. Fluentd

Tracing : Jaeger, OpenTracing, Zipkin. Application instrumentation is exposed using OpenTracing API to Jaeger agent. Jaeger has Client, agent, collector and UT

Security : (1) Image security and (2) Key management. Notary and TUF for secure image by CNCF. Valut and Confident stores sensitive data of image in secure manner and encrypt in REST. TUF is framework for software update system. Notary is implementation of TUF specification. Acquasec Product Suite for complete security platform. 

Kubeless and Fission providing equivalents to functions-as-a-service but running within Kubernetes

Reference 

Kelsey Hightower: https://twitter.com/kelseyhightower
Kubernetes Docs: https://kubernetes.io/docs/home/
Kubernetes Slack: http://slack.k8s.io/
The CNCF: https://www.cncf.io/
CNCF Meetups: https://www.meetup.com/pro/cncf/
Kubeconf: http://events.linuxfoundation.org/events/kubecon
The agile admin: https://theagileadmin.com/

https://ramitsurana.github.io/awesome-kubernetes/

0 comments:

Post a Comment