我是一个使用Spinnaker和Halyard的新手。我按照以下指南进行操作 谷歌.
安装Spinnaker时,他们使用 helm
拴在 spinnaker-config.yaml
文件,看起来像这样。
./helm install -n cd stable/spinnaker -f spinnaker-config.yaml --timeout 600 \
--version 1.1.6 --wait
spinnaker-config.yaml
:
export SA_JSON=$(cat spinnaker-sa.json)
export PROJECT=$(gcloud info --format='value(config.project)')
export BUCKET=$PROJECT-spinnaker-config
cat > spinnaker-config.yaml <<EOF
gcs:
enabled: true
bucket: $BUCKET
project: $PROJECT
jsonKey: '$SA_JSON'
dockerRegistries:
- name: gcr
address: https://gcr.io
username: _json_key
password: '$SA_JSON'
email: [email protected]
# Disable minio as the default storage backend
minio:
enabled: false
# Configure Spinnaker to enable GCP services
halyard:
spinnakerVersion: 1.10.2
image:
tag: 1.12.0
additionalScripts:
create: true
data:
enable_gcs_artifacts.sh: |-
\$HAL_COMMAND config artifact gcs account add gcs-$PROJECT --json-path /opt/gcs/key.json
\$HAL_COMMAND config artifact gcs enable
enable_pubsub_triggers.sh: |-
\$HAL_COMMAND config pubsub google enable
\$HAL_COMMAND config pubsub google subscription add gcr-triggers \
--subscription-name gcr-triggers \
--json-path /opt/gcs/key.json \
--project [project_guid] \
--message-format GCR
EOF
我需要再加一个 pubsub
异名 gcr-triggers
并注意到,我试图在管道中添加的任何东西都不会持久。我怀疑这是因为它需要在添加时使用 hal
像这样。
注意: 我已经创建并验证了: gcloud
subscriptions
和 add-iam-policy-binding
.
hal config pubsub google subscription add [new_trigger] \
--subscription-name [new_trigger] \
--json-path /opt/gcs/key.json \
--project $PROJECT \
--message-format GCR
我怀疑安装 spinnaker
像这样是一种非常规的(如果我错了,请纠正我)。我从来没有跑过 hal
二进制从我的主控机,其中 kubectl
是运行的,这在指南中是不必要的。主旋翼的 建筑学 有一堆豆荚,我可以看到。我在里面摸索了一下,没有看到。hal
.
我的问题是:有了这个指南,我应该怎么做?hal config
新事物?正常情况下是怎么做的?
Helm是一个类似于某些linux发行版中apt的包管理器.因为这是一个在Kubernetes中运行的微服务架构,你必须访问Halyard Pod(实际上它应该是一个有状态的集合)。
export HALYARD=$(kubectl -n spinnaker get pod -l app=halyard -oname | cut -d'/' -f 2)
kubectl -n spinnaker exec -it ${HALYARD} /bin/bash
hal config
你应该得到完整的spinnaker配置。hal deploy apply