memo
Helmのセットアップ
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
EOF
helm init --service-account tiller
helm upate
Spinnakerのインストール
kubectl create ns spinnaker
Docker RegistryのWebhook Triggerを使うときはRegistoryがホワイトリストので、 変更したい場合は次のような設定が必要。
cat <<EOF >> values.yml
accounts:
- address: https://index.docker.io
name: dockerhub
repositories:
- making/hello-pks
dockerRegistries:
- name: dockerhub
address: index.docker.io
repositories:
- making/hello-pks
EOF
helm install --name spinnaker stable/spinnaker --timeout 6000 --debug --namespace spinnaker -f values.yml
次のChartバージョンで試している。バージョンが違うと全然構成が違うので注意。
$ helm list
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
spinnaker 1 Sun Feb 10 00:38:42 2019 DEPLOYED spinnaker-1.6.1 1.11.6 spinnaker
deckとgateのService TypeをLoadBalancerにしてアクセス可能にする。
kubectl patch -n spinnaker service spin-deck --type='json' -p='[{"op": "replace", "path": "/spec/type", "value": "LoadBalancer" }]'
kubectl patch -n spinnaker service spin-gate --type='json' -p='[{"op": "replace", "path": "/spec/type", "value": "LoadBalancer" }]'
http://<deckのLoadBalancerのIP>:9000
でGUIにアクセスできる。
http://<gateのLoadBalancerのIP>:8084
でAPIサーバーにアクセスできる。
GitHub Artifactを有効にする
hal
コマンドで設定変更する。halyard Pod内で操作すると楽。
kubectl exec -n spinnaker -it spinnaker-spinnaker-halyard-0 bash
hal config features edit --artifacts true
hal config artifact github enable
echo "GitHubのrepoスコープを持つアクセストークン" > /tmp/token_file
hal config artifact github account add $ARTIFACT_ACCOUNT_NAME --token-file /tmp/token_file
hal deploy apply