#从配置文件发布部署
kubectl apply -f myproject001.yaml
#从配置文件删除部署
kubectl delete -f myproject001.yaml
#从配置文件更新部署
kubectl replace -f myproject001.yaml
# 从命令行创建部署
kubectl create deployment myproject001 --image=nginx:1.22
#从文件创建configmap
kubectl create configmap my-config --from-file=key1=test1.txt --from-file=key2=test2.txt
#编辑 configmap
kubectl edit configmap my-config
#删除 configmap
kubectl delete configmap my-config
# 升级镜像版本
kubectl set image deployment myproject001 -n myns001 mycontainer001=app001:v1.0.1
# 查看升级版本状态
kubectl rollout status deployment myproject001
# 查看版本历史
kubectl rollout history deployment myproject001
#回滚到指定版本
kubectl rollout undo deployment myproject001 --to-revision=0
#回滚到上次版本
kubectl rollout undo deployment myproject001
#扩容或缩容
kubectl scale deployment myproject001 --replicas=5
# 暴露某个部署应用的端口
kubectl expose deployment myproject1 --name=svc001 --type=NodePort --port=8080 --target-port=8080
#创建加密配置
kubectl create secret docker-registry harbor-secret(别名) --namespace=项目所在命名空间 --docker-server=Harbor地址 --docker-username=账户 --docker-password=Harbor密码
---------------------------------
出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。
#查看k8s-master表示不运行pod
[root@k8s-master ~]# kubectl describe node k8s-master |grep Taints
Taints: node-role.kubernetes.io/master:NoSchedule
#查看k8s-master表示运行pod
[root@k8s-master ~]# kubectl describe node k8s-master |grep Taints
Taints: <none>
#让 master节点参与POD负载的命令为
kubectl taint nodes k8s-master node-role.kubernetes.io/master-
#让 master节点恢复不参与POD负载的命令为
kubectl taint nodes k8s-master node-role.kubernetes.io/master=:NoSchedule
全部评论