推荐答案
kubectl create -f <resource-file.yaml>
或者
kubectl apply -f <resource-file.yaml>
本题详细解读
1. kubectl create
命令
kubectl create
命令用于从文件或标准输入创建资源。它通常用于创建新的资源,而不是更新现有的资源。如果资源已经存在,kubectl create
会返回错误。
示例
kubectl create -f deployment.yaml
这个命令会从 deployment.yaml
文件中创建一个新的 Deployment 资源。
2. kubectl apply
命令
kubectl apply
命令用于从文件或标准输入创建或更新资源。如果资源已经存在,kubectl apply
会更新该资源;如果资源不存在,则会创建该资源。
示例
kubectl apply -f deployment.yaml
这个命令会从 deployment.yaml
文件中创建或更新一个 Deployment 资源。
3. 区别与使用场景
kubectl create
:适用于创建新的资源,如果资源已经存在,则会报错。适合在确定资源不存在的情况下使用。kubectl apply
:适用于创建或更新资源,如果资源已经存在,则会更新该资源。适合在不确定资源是否存在的情况下使用。
4. 其他常用选项
--dry-run=client
:模拟创建资源,但不会真正创建资源。--validate=true
:在创建资源之前验证资源的定义是否正确。--record
:记录当前命令的执行历史,方便后续查看。
示例
kubectl create -f deployment.yaml --dry-run=client --validate=true
这个命令会模拟创建 Deployment 资源,并验证资源定义是否正确,但不会真正创建资源。