有什么方法可以在将清单.yaml传递给kubectl命令时从varibale/config传递映像版本
示例:
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 1
selector:
app: nginx
template:
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:${IMAGE_VERSION}
imagePullPolicy: Always
resources:
limits:
cpu: "1.2"
memory: 100Mi
ports:
- containerPort: 80
Run Code Online (Sandbox Code Playgroud)
用例是启动在kubernetes级别设置的特定映像版本,并且该变量由服务器端的kubernetes本身解析.
谢谢和问候,拉维
小智 9
经过最近的调查,我们决定只好与sed。包装kubectl apply成一个小的bash脚本,并在运行apply之前替换占位符。
我们确实研究了更复杂的工具,但只找到了Helm。但是,Helm是一项复杂的技术,其作用不仅限于模板。由于您不再使用kubectl进行部署,并且必须有一个Helm软件包存储库才能将软件包推送到其中,因此它会极大地改变您的工作流程。我们的评估是,Helm对于部署我们的应用程序并仅将其用于模板是没有用的。
k8s清单文件是静态yaml/json.
如果您想模拟清单(并以类似捆绑的方式管理多个资源),我强烈建议您查看Helm
我最近创建了一个专注于Helm"模板"功能的工作室.
Helm做的不仅仅是模板化,它是作为Kubernetes应用程序的完整包管理器构建的(想想Apt/Yum/Homebrew).
如果您想处理客户端的所有内容,请查看https://github.com/errordeveloper/kubegen
虽然,在某些时候,你将需要Helm的其他功能,并且当时间到来时将需要迁移 - 我建议咬紧牙关并直接向Helm求助.
| 归档时间: |
|
| 查看次数: |
8788 次 |
| 最近记录: |