Điều này gây khó chịu cho tôi vì tôi đang thử nghiệm nhiều gói helm nên tôi đã viết một kịch bản nhanh - có thể được sửa đổi để sắp xếp quy trình công việc của bạn có thể xem bên dưới
Quy trình công việc mới Đầu tiên tìm nạp biểu đồ dưới dạng tgz vào thư mục làm việc của bạn
helm fetch repo/chart
sau đó, trong công việc của bạn trực tiếp chạy tập lệnh bash bên dưới - mà tôi đặt tên là helmk
helmk myreleasename mynamespace chart.tgz [any parameters for kubectl create]
Nội dung của helmk - cần chỉnh sửa clustername kubeconfig của bạn để hoạt động
#!/bin/bash
echo usage $0 releasename namespace chart.tgz [createparameter1] [createparameter2] ... [createparameter n]
echo This will use your namespace then shift back to default so be careful!!
kubectl create namespace $2 #this will create harmless error if namespace exists have to ignore
kubectl config set-context MYCLUSTERNAME --namespace $2
helm template -n $1 --namespace $2 $3 | kubectl convert -f /dev/stdin | kubectl create --save-config=true ${@:4} -f /dev/stdin
#note the --namespace parameter in helm template above seems to be ignored so we have to manually switch context
kubectl config set-context MYCLUSTERNAME --namespace default
Đó là một hack hơi nguy hiểm vì tôi tự chuyển sang bối cảnh không gian tên mong muốn mới của bạn sau đó quay lại để chỉ được sử dụng cho các nhà phát triển người dùng thực sự hoặc nhận xét điều đó.
Bạn sẽ nhận được cảnh báo về việc sử dụng tiện ích chuyển đổi kubectl như thế này
Nếu bạn cần chỉnh sửa YAML để tùy chỉnh - chỉ cần thay thế một trong số / dev / stdin thành các tệp trung gian nhưng có lẽ tốt hơn là sử dụng "tạo" bằng cấu hình lưu như tôi có và sau đó chỉ cần "áp dụng" các thay đổi của bạn điều đó có nghĩa là chúng cũng sẽ được ghi lại trong kubernetes. Chúc may mắn