kubectl命令行工具管理对象

管理技巧

警告:Kubernetes 对象应该只使用一种技术进行管理。混合使用不同的技术,会导致相同对象出现未定义的行为。

管理技术操作     推荐环境    支持撰写    学习曲线

命令式的方式     活动对象    开发项目     1+最低

命令式对象配置  单文件       生产项目      1中等

声明式对象配置   文件目录   生产项目     1+最高

命令式的方式

当使用命令式的命令时,用户直接对集群中的活动对象进行操作。用户提供kubectl命令的参数或标记进行操作。

例子

通过创建 Deployment 对象来运行 nginx 容器的实例:

kubectl run nginx --image nginx

使用不同的语法做同样的事情:

kubectl create deployment nginx --image nginx

命令式对象配置

在命令式对象配置中,kubectl命令指定操作(创建,替换等),可选标志和至少一个文件名称。指定的文件必须包含对象的完整定义以 YAML 或 JSON 格式

例子

创建对象定义配置文件:

kubectl create -f nginx.yaml

删除两个配置文件中定义的对象:

kubectl delete -f nginx.yaml -f redis.yaml

通过覆写实时配置更新配置文件中定义的对象:

kubectl replace -f nginx.yaml

声明式对象配置

当使用声明式对象配置时,用户对本地存储的对象配置文件进行操作,但是用户没有定义要对文件执行的操作。通过kubectl自动检测每个对象进行创建、更新和删除操作。这样可以在目录层级上工作,因为不同的对象可能需要不同的操作。

例子

处理configs目录中的所有对象配置文件,创建或修补(patch)活动对象:

kubectl apply -f configs/

递归处理目录:

kubectl apply -R -f configs/


对象管理的具体操作参见如下:

https://kubernetes.io/docs/tutorials/object-management-kubectl/object-management/

kubectl命令:

https://kubernetes.io/docs/user-guide/kubectl/v1.6/

kubernetes指南

https://www.gitbook.com/book/feisky/kubernetes

你可能感兴趣的:(kubectl命令行工具管理对象)