使用头盔安装后如何更改Spinnaker配置?

时间:2019-03-05 20:45:46

标签: kubernetes google-cloud-pubsub hal spinnaker

我刚开始使用Spinnaker和Halyard。我正在Google之前遵循本指南。

在安装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: 1234@5678.com

# 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 subscriptionsadd-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二进制文件,因此本指南中不需要这样做。大三角帆的architecture有一堆豆荚,我看得出来。我在其中戳了一下,却没有看到hal

我的问题是:有了本指南,我应该如何hal config种新事物?正常的做法是什么?

1 个答案:

答案 0 :(得分:0)

Helm是一个软件包管理器,类似于某些Linux发行版中的apt。 因为这是在Kubernetes中运行的微服务架构,所以您必须访问Halyard Pod(实际上它应该是有状态集合)

  • 获取Halyard Pod export HALYARD=$(kubectl -n spinnaker get pod -l app=halyard -oname | cut -d'/' -f 2)
  • 在Spinnaker命名空间kubectl -n spinnaker exec -it ${HALYARD} /bin/bash中访问Halyard Pod
  • 通过运行命令hal config测试访问权限,您应该获得大三角帆的完整配置
  • 应用更改后,请不要忘记使用hal deploy apply