Kubernetes 使用kubectl 1.18版创建部署;

Kubernetes 使用kubectl 1.18版创建部署;,kubernetes,kubectl,Kubernetes,Kubectl,在的第67页,作者使用以下命令创建部署: kubectl run羊驼产品\ --image=gcr.io/kuar demo/kuard-amd64:蓝色\ --副本=2\ --labels=“ver=1,app=alpaca,env=prod” 但是,kubectl 1.19+不推荐使用此命令,它现在创建一个pod: $kubectl run羊驼产品\ --image=gcr.io/kuar demo/kuard-amd64:蓝色\ --副本=2\ --labels=“ver=1,app=a

在的第67页,作者使用以下命令创建
部署

kubectl run羊驼产品\
--image=gcr.io/kuar demo/kuard-amd64:蓝色\
--副本=2\
--labels=“ver=1,app=alpaca,env=prod”
但是,kubectl 1.19+不推荐使用此命令,它现在创建一个pod:

$kubectl run羊驼产品\
--image=gcr.io/kuar demo/kuard-amd64:蓝色\
--副本=2\
--labels=“ver=1,app=alpaca,env=prod”
Flag--副本已被弃用,无效,将来将被删除。
已创建豆荚/羊驼产品
$kubectl版本
客户端版本:Version.Info{Major:“1”,Minor:“19”,GitVersion:“v1.19.0”,GitCommit:“e19964183377d0ec2052d1f1fa930c4d75bd50”,gittrestate:“clean”,BuildDate:“2020-08-26T14:30:33Z”,政府版本:“go1.15”,编译器:“gc”,平台:“linux/amd64”}
服务器版本:Version.Info{Major:“1”,Minor:“20”,GitVersion:“v1.20.2”,GitCommit:“faecb196815e248d3ecfb03c680a4507229c2a56”,gittrestate:“clean”,BuildDate:“2021-01-21T01:11:42Z”,GoVersion:“go1.15.5”,编译器:“gc”,平台:“linux/amd64”}

有没有一种方法可以使用
kubectl-run
创建一个带有副本和自定义标签的部署,使用
kubectl
1.19+?

现在最好使用
kubectl-create
创建一个新的
部署,而不是
kubectl-run

这是与
kubectl运行对应的命令

kubectl create deployment alpaca-prod --image=gcr.io/kuar-demo/kuard-amd64:blue --replicas=2
标签
默认情况下,从
kubectl create deployment alpaca proc
您将获得标签
app=alpaca

如果要获取其他标签,您需要稍后添加它们。使用
kubectl标签
将标签添加到
展开
,例如:

kubectl label deployment alpaca-prod ver=1

注意:这只会将标签添加到
部署
中,而不会添加到Pod模板中,例如,Pod不会获得标签。要将标签添加到POD,您需要编辑
模板:
部署yaml的一部分。

注意:使用
kubectl 1.18版
时,情况发生了变化。就像不再可能使用
kubectl
运行来创建
作业
CronJobs
部署
,只有
吊舱
仍然工作

因此,是的,您无法从1.18中的
kubectl run
创建部署

步骤1:创建
部署
来自
kubectl创建
命令

kubectl create deploy alpaca-prod --image=gcr.io/kuar-demo/kuard-amd64:blue --replicas=2
kubectl label deploy -l app=alpaca-prod ver=1

kubectl label deploy -l app=alpaca-prod app=alpaca

kubectl label deploy -l app=alpaca-prod env=prod
步骤2使用
kubectl label
命令更新标签

kubectl create deploy alpaca-prod --image=gcr.io/kuar-demo/kuard-amd64:blue --replicas=2
kubectl label deploy -l app=alpaca-prod ver=1

kubectl label deploy -l app=alpaca-prod app=alpaca

kubectl label deploy -l app=alpaca-prod env=prod

以下是产生“Kubernetes:启动并运行,第二版”p67预期结果的
yaml
文件:

apiVersion:apps/v1 种类:部署 元数据: 名称:羊驼制品 规格: 选择器: 火柴标签: 版本:“1” 应用程序:“羊驼” 环境:“产品” 副本:2份 战略: 滚动更新: 最大浪涌:25% 最大不可用:25% 类型:RollingUpdate 模板: 元数据: 标签: 版本:“1” 应用程序:“羊驼” 环境:“产品” 规格: 容器: -姓名:夸德 图片:gcr.io/kuar demo/kuard-amd64:blue
我建议您与yaml资源一起使用
kubectl apply
。在那里,您可以定义部署并在以后更新它。因为这就是您在实际工作中完成的方式。
kubectl创建部署羊驼产品--image=gcr.io/kuar demo/kuard-amd64:blue--replications=2
应该可以。但您需要在创建后添加标签……并将YAML文件检查到源代码管理中,这样您就有了部署内容的记录,以后可以重新创建它(可能在不同的环境中)。