1、Kubectl语法
kubectl cp <file-spec-src> <file-spec-dest> [options]
?
kubectl cp:用于pod和外部的文件交换,将文件和目录复制到容器或从容器复制到容器。
?
??-c, --container=''??:容器名称。如果省略,将选择荚中的第一个容器
?
??--no-preserve=false??:复制的文件/目录的所有权和权限将不会保留在容器中
?
将容器中的日志文件复制到宿主机
?
kubectl cp namespace/podName:logs/test.log ./test.log
?
将宿主机的文件夹复制到pod容器中
?
kubectl cp ?dir/ namespace/podName:/
?
-c 可以直接赋值文件或者文件夹,pod容器里面是直接被覆盖
2、kubectl命令中的简写
certificatesigningrequests (缩写 csr)?
componentstatuses (缩写 cs)?
configmaps (缩写 cm)?
customresourcedefinition (缩写 crd)?
daemonsets (缩写 ds)?
deployments (缩写 deploy)?
endpoints (缩写 ep)?
events (缩写 ev)?
horizontalpodautoattachrs (缩写 hpa)?
ingresses (缩写 ing)?
limitranges (缩写 limits)?
namespaces (缩写 ns)?
networkpolicies (缩写 netpol)?
nodes (缩写 no)?
persistentvolumeclaims (缩写 pvc)?
persistentvolumes (缩写 pv)?
poddisruptionbudgets (缩写 pdb)?
pods (缩写 po)?
podsecuritypolicies (缩写 psp)?
replicasets (缩写 rs)?
replicationcontrollers (缩写 rc)?
resourcequotas (缩写 quota)?
serviceaccounts (缩写 sa)?
services (缩写 svc)?
statefulsets (缩写 sts)?
storageclasses (缩写 sc)
3、kubectl cp 命令
1)将“/tmp/foo_dir”本地目录拷贝到默认命名空间的远端pod的“/tmp/bar_dir”目录下
?
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
?
2)复制/tmp/foo本地文件到/tmp/bar在远程pod在一个特定的容器
?
kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>
?
3)将/tmp/foo文件拷贝到远程pod中的/tmp/bar目录下
?
kubectl cp /tmp/foo <some-namespace>/<some-pod>:/tmp/bar
?
4)从远程pod拷贝/tmp/foo到本地/tmp/bar
?
kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar
?
5)复制文件到pod的指定目录,也可从容器中复制文件到外部
?
kubectl cp fileName podName:/fileName
4、版本更新及回滚
#重新部署某个服务命令
kubectl rollout restart deployment/<deployment-name>
?
#应用升级nginx镜像到1.15
kubectl ?-n NAMESPACE set image deployment DEPLOYNAME nginx=nginx:1.15
?
# 回滚到上一个版本
kubectl ?-n NAMESPACE rollout undo deployment/<deployment-name>
?
# 查看历史版本
kubectl ?-n NAMESPACE rollout history deployment DEPLOYNAME?
?
# 回滚到指定版本
kubectl -n NAMESPACE rollout undo deployment DEPLOYNAME ?--to-revision=2
?
# 修改副本数
kubectl ?-n NAMESPACE scale deployment DEPLOYNAME --replicas=2
?
# 生成json或yaml文件
kubectl get deployment DEPLOYMENT -o json
kubectl get deployment DEPLOYMENT -o yaml