Manages a set of pods by describing the desired state thru K8s ReplicaSet by sending configurations to it
rolling update: when update deployment, it mades new replicaset then turn on pods in it and delete in old one
?
Represents a group of replicas of the same Pod and keeps your Pods running even when the nodes they run on fail.
Heterogeneous deployments:
typically involve connecting two or more distinct infrastructure environments or regions to address a specific technical or operational need.
called “hybrid”, “multi-cloud”, or “public-private”, depending upon the specifics of the deployment.
Kubernetes creates a Service with a fixed IP address for your Pods, and a controller says
”I need to attach an external Load balancer with a public IP address to that Service so others outside the cluster can access it.”
Master node vs workder note
apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: selector:matchLabels: app: nginxreplicas: 2 # tells deployment to run 2 pods matching the templatetemplate:metadata: labels: app: nginx # key-value pairs used in kubectl commandspec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
Use cases:
create a deployment to rollout a replicaset
declare the new state of the pods
rollback to earlier deployment
scale up the deployment to facilitate more load
pause a rollout
use the status of the deployment as an indicator that a rollout has stuck
clean up older replicasets
Create deployment
kubectl create deployment —image nginx nginx-1
When a repository isn’t specified, the default behavior is to try and find the image either locally or in the Docker public registry. In this case, the image is pulled from the Docker public registry.