kubectl explain deployment查看相关的帮助apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
kubectl apply -f deployment_pod.yaml
deployment.apps/deployment-test created
kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
deployment-test-845d4d9dff-4kvmv 1/1 Running 0 85s 10.1.0.135 docker-desktop <none> <none>
kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
deployment-test 1/1 1 1 29s
kubectl delete pod deployment-test-845d4d9dff-4kvmv
pod "deployment-test-845d4d9dff-4kvmv" deleted
kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
deployment-test-845d4d9dff-xvvrq 1/1 Running 0 11s 10.1.0.136 docker-desktop <none> <none>
kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
deployment-test 1/1 1 1 5m39s
kubectl delete deployment deployment-test
deployment.apps "deployment-test" deleted
kubectl get deployment
No resources found in default namespace.
kubectl get pod
NAME READY STATUS RESTARTS AGE
deployment-test-845d4d9dff-xvvrq 0/1 Terminating 0 3m18s
kubectl describe pod deployment-test-845d4d9dff-4cjd7
kubectl set image deployment deployment-test nginx=nginx:1.16-alpine --record
deployment.apps/deployment-test image updated


kubectl set image deployment deployment-test nginx=nginx:1.17-alpine --record
deployment.apps/deployment-test image updated
kubectl rollout history deployment deployment-test
deployment.apps/deployment-test
REVISION CHANGE-CAUSE
1 <none>
2 kubectl set image deployment deployment-test nginx=nginx:1.16-alpine --record=true
3 kubectl set image deployment deployment-test nginx=nginx:1.17-alpine --record=true
zsx:~ zsx$ kubectl rollout undo deployment deployment-test --to-revision=1
deployment.apps/deployment-test rolled back
zsx:~ zsx$ kubectl rollout history deployment deployment-test
deployment.apps/deployment-test
REVISION CHANGE-CAUSE
2 kubectl set image deployment deployment-test nginx=nginx:1.16-alpine --record=true
3 kubectl set image deployment deployment-test nginx=nginx:1.17-alpine --record=true
4 <none>
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-go-app1
spec:
replicas: 1
selector:
matchLabels:
app: go-app
template:
metadata:
labels:
app: go-app
spec:
containers:
- name: go-app-container
image: zsx123456/go-app-img
ports:
- containerPort: 3000
kubectl get pod
NAME READY STATUS RESTARTS AGE
my-go-app1-7b77966865-fzxvn 1/1 Running 0 30s
kubectl scale --replicas=2 -f deployment.yaml
deployment.apps/my-go-app1 scaled
kubectl get pod
NAME READY STATUS RESTARTS AGE
my-go-app1-7b77966865-fzxvn 1/1 Running 0 2m25s
my-go-app1-7b77966865-nrjmd 1/1 Running 0 38s
1, 编写YAML文件
[root@master ~]# vim rs-nginx.yml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: rs-nginx
namespace: default
spec: # replicaset的spec
replicas: 2 # 副本数
selector: # 标签选择器,对应pod的标签
matchLabels:
app: nginx # 匹配的label
template:
metadata:
name: nginx # pod名
labels: # 对应上面定义的标签选择器selector里面的内容
app: nginx
spec: # pod的spec
containers:
- name: nginx
image: nginx:1.15-alpine
ports:
- name: http
containerPort: 80
2, 应用YAML文件
kubectl apply -f rs-nginx.yml
replicaset.apps/rs-nginx created
3, 验证
kubectl get rs
NAME DESIRED CURRENT READY AGE
rs-nginx 2 2 2 26s
kubectl get pods
NAME READY STATUS RESTARTS AGE
rs-nginx-7j9hz 1/1 Running 0 44s
rs-nginx-pncsk 1/1 Running 0 43s
kubectl get deployment
No resources found.
找不到deployment,说明创建rs并没有创建deployment