K8s相关基本操作

2022-10-27 21:00
149
0

#从配置文件发布部署

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

全部评论