4488
Comment:
|
1692
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
* https://kodekloud.com/ Certified Kubernetes Administrator: https://www.cncf.io/certification/cka/ Exam Curriculum (Topics): https://github.com/cncf/curriculum Candidate Handbook: https://www.cncf.io/certification/candidate-handbook Exam Tips: http://training.linuxfoundation.org/go//Important-Tips-CKA-CKAD Use the code – DEVOPS15 – while registering for the CKA or CKAD exams at Linux Foundation to get a 15% discount. |
* Links * https://kodekloud.com/ * Certified Kubernetes Administrator: https://www.cncf.io/certification/cka/ * Exam Curriculum (Topics): https://github.com/cncf/curriculum * Candidate Handbook: https://www.cncf.io/certification/candidate-handbook * Exam Tips: http://training.linuxfoundation.org/go//Important-Tips-CKA-CKAD * Use the code – DEVOPS15 – while registering for the CKA or CKAD exams at Linux Foundation to get a 15% discount. |
Line 37: | Line 34: |
* PODs * smallest object in k8s, contains containers, can contain one or more containers * scale service by creating more pod instances. * additional container could be helper container. * network space is shared between containers in the same pod, they can communicate on localhost. * k8s Controllers - the brains * kind: !ReplicaSets - Replication controller -> newer -> Replica Sets 1. yml definition ```ReplicationController``` same 4 sections as other configs * apiVersion: v1 * kind: !ReplicationController * metadata: name: myapp-rc labels: app: myapp type: front-end * spec: template: <pod definition nested, with same 2 sections, metadata, spec> replicas: 3 1. yml definition newer ```ReplicationSet```, requires selector: {{{ apiVersion: apps/v1 kind: ReplicaSet metadata: name: myapp-rc labels: app: myapp type: front-end selector: app: myapp type: front-end }}} * spec: template: <pod definition nested, with same 2 sections, metadata, spec> replicas: 3 selector: matchLabels: type: front-end |
|
Line 88: | Line 45: |
* kind: Service , 1. Service-!NodePort k8s-Obj-bind external node port to internal. NodePort is external port 30000-32767 {{{ apiVersion: v1 kind: Service metadata: name: myapp-service spec: type: NodePort ports: - targetPort: 80 ->POD port: 80 ->This service local ip port (Optional) nodePort: 30008 ->Node external port listening on host, same port on all Nodes! selector: app: myapp type: front-end }}} 2. Service-!ClusterIP internal network, default type {{{ apiVersion: v1 kind: Service metadata: name: back-end-service spec: type: ClusterIP << Default if not specified ports: - targetPort: 80 port: 80 selector: name: my-app type: back-end }}} 3. Service-!LoadBalancer - Configure external LB {{{ apiVersion: v1 kind: Service metadata: name: myapp-service spec: type: Loadbalancer ports: - targetPort: 80 port: 80 nodePort: 30008 selector: name: my-app type: back-end }}} |
k8s/StudyNotes
k8s/StudyNotes/cubectl k8s/StudyNotes/Deployments k8s/StudyNotes/Pods k8s/StudyNotes/Services
- Links
Certified Kubernetes Administrator: https://www.cncf.io/certification/cka/
Exam Curriculum (Topics): https://github.com/cncf/curriculum
Candidate Handbook: https://www.cncf.io/certification/candidate-handbook
Exam Tips: http://training.linuxfoundation.org/go//Important-Tips-CKA-CKAD
- Use the code – DEVOPS15 – while registering for the CKA or CKAD exams at Linux Foundation to get a 15% discount.
- kubeadm
- deploys all the kubernetes services downloaded from web
- Kube-Scheduler
- Filter Nodes (Pod cant fit)
- Rank Nodes (Compare resources left, try to balance cpu/mem usage)
- kubelet - captain on each Worker Node
- Registers with Master node, reports status and executes
Always manual install wget https://storage.googleapis.com/kubernetes-release/release/v1.xx.x/bin/linux/amd64/kubelet
- Not kubeadm managed.
- Needs tls bootstrap
- Kube-proxy - run on each node, service's virtual component
- All pods can see all other pods, through POD Network, by IP/Name. Exposed through service: eg. db(IP)
- Watches for service creation, and then configure network e.g. Iptables to forward to actual pod.
- Install: download wget to install or
- kubeadm will deploy it as deamon set to each pod in namespace kube-system
kind: Deployments - Encapsulates ReplicaSet that Encapsulate Pods
- Can have deployment and replacement policy
kind: ResourceQuote
- spec:
- hard:
- cpu:
- hard:
- spec: