MicroService -> Same environment
Kubernetes:
- API server
- Scheduler
- Controller Manager
- etcd
- Kubelet
- kube-proxy
- nodeSelector
- label
- annotation
Custom-Namespace
kubectl explain
liveness probe
- HTTP GET
- TCP
- Exec
ReplicationController(Deprecated)
- selector
- template
- replicas
ReplicaSet
- matchLabels
- matchExpressions (In,NotIn,Exits,DoesNotExits)
DaemonSet
- matchLabels
Job
- restartPolicy(Always,OnFailure,Never)
- completions
- parallelism
CronJob
- schedule
- startingDeadlineSeconds
Service
- sessionAffinity (ClientIP,None)
- name
EndPoint
- subset:address
ExternalName
Expose Service to the external client
- NodePort
- LoadBalance
- Ingress (rules,host,paths)
Readiness probe
- Exec
- HTTP GET
- TCP Socket
headless Service
ClusterIp: None
publishNotReadyAddresses
- emptyDir
- hostPath
gitRepo- nfs
- configMap,secret,downwardAPI
- persistentVolumeClaim
PersistentVolume
PersistentVolumeClaim
StorageClass
- command
- args
- env
ConfigMap
configMap-volume
Secret
- stringData
- data
- docker-registry
DownwardAPI
- pod Name
- pod IP
- pod nameSpace
- pod Node name
- pod ServiceAccount
- pod CPU/Memory request
- pod CPU/Memory limit
- pod label
- pod annotation
Interact with Kubernetes API
- kubectl proxy
- ambassador
Deployment -> ReplicaSet -> Pod
RollingUpdate Recreate
minReadySeconds
maxSurge, maxUnavailable
at-most-one
volumeClaimTemplate
- etcd
- control plane
- API Server
- Scheduler
- Controller
- Kubelet
- Kubernetes Service Proxy -> iptables
Addons: DNS server, Ingress controller
High Availability
- ServiceAccount
- RBAC
- Role, Role binding
- ClusterRole, ClusterRoleBinding
Security Context:
- privileged
- runAsUser
- capabilities
PodSecurityPolicy
NetWorkPolicy
- ingress
- egress
resource -> request (cpu,memory) -> limits Qos(Quality of Service)
- BestEffort
- Burstable
- Guaranteed
LimitRange
ResourceQuota
Metrics-Server
kubectl autoscale
HPA(Horizontal Pod Autoscaler)
Cluster Autoscaler
Taints
- NoSchedule
- PreferNoSchedule
- NoExecute
tolerations
nodeAffinity
podAffinity/podAntiAffinity
life-cycle
initContainers
Post-start/Pre-stop hook
CRD (customer resource definition)
Custom Controller
aggregation API Server
Helm