Kubernetes(K8s) kubectl replace常用命令

Kubernetes(K8s)中使用Kubectl 命令行工具管理 Kubernetes 集群。 kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。本文主要介绍Kubernetes(K8s)中kubectl replace常用命令。

 1、Kubectl语法

kubectl replace -f FILENAME

 kubectl replace:用文件名或标准输入替换资源。JSON和YAML格式可以接受。如果替换现有资源,则必须提供完整的资源规范。这可以通过$ kubectl get TYPE NAME -o yaml来获得。

2、kubectl命令中的简写

kubectl命令中可以使用的缩写,具体如下:

certificatesigningrequests (缩写 csr)
componentstatuses (缩写 cs)
configmaps (缩写 cm)
customresourcedefinition (缩写 crd)
daemonsets (缩写 ds)
deployments (缩写 deploy)
endpoints (缩写 ep)
events (缩写 ev)
horizontalpodautoscalers (缩写 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 replace命令

1)使用pod.json中的数据替换一个pod

kubectl replace -f ./pod.json

2)通过stdin的JSON替换一个pod。

cat pod.json | kubectl replace -f -

3)将单个容器pod的镜像版本(标记)更新为v4

 kubectl get pod mypod -o yaml | sed 's/\(image: myimage\):.*$/\1:v4/' | kubectl replace -f -

4)强制替换删除然后重新创建资源

kubectl replace --force -f ./pod.json

推荐阅读
cjavapy编程之路首页