何が書いてあるか
- halyardをMacOSX上にインストールして、spinnaker1.8をデプロイするまでを書いています
- 公式ドキュメントが英語しかないのと、微妙にハマりポイントがあったのでそのあたりの解説をしています
環境
- MacOSX High Sierra
- halyard 1.5.0
- Java 10 (Javaが必要なのでインストールしておきます)
- kubectl 1.11 (kubectlが必要なのでインストールしておきます)
halyardインストール
基本はここの公式ドキュメントを参照します https://www.spinnaker.io/setup/install/halyard/
ダウンロード&&インストール
スクリプトダウンロード
公式ドキュメントにあるスクリプトを実行してインストールスクリプトをダウンロードします
curl -O https://raw.githubusercontent.com/spinnaker/halyard/master/install/macos/InstallHalyard.sh
インストール
sudo bash InstallHalyard.sh
あなたがJava8を使っているならここで成功しますが、9~を使っているならスクリプトが通りません
エディタで開いて152行目を修正します
2018/7/25: 自分の書いたPullRequestがMergeされたので以下の修正は必要なくなりました。そのまま実行してください。
@@ -149,12 +149,14 @@ function install_java() {
local java_version=$(java -version 2>&1 head -1)
set -e
- if [[ "$java_version" == *"1.8"* ]]; then
+ if [[ "$java_version" == *"1.8"* ]] || \
+ [[ "$java_version" == *"9.0"* ]] || \
+ [[ "$java_version" == *"10.0"* ]]; then
echo "Java is already installed & at the right version"
return 0;
fi
- これで
sudo bash InstallHalyard.sh
を行うと動くはずです
確認
実行して下記が表示されれば成功です
hal -v
1.5.0-20180713143726
下記のコマンドでアップデートが可能です
sudo update-halyard
spinnaker deployの設定
cloud providerの設定
halyardでdeployを行うspinnakerのcloud providerを設定します。
今回はkubernetes V2
に沿って行います。
accountの設定
kubectlを用いてspinnakerをdeployしたいclusterへ接続するためのkubeconfigが設定されていることが前提条件となります。
まず下記のコマンドを実行します
hal config provider kubernetes enable
次にこちらのコマンドを実行します my-k8s-v2-account
のところは ~/.kube/config
にある users:
項目にあるユーザーのうち、権限があるユーザーの username
を使用します。
hal config provider kubernetes account add my-k8s-v2-account \
--provider-version v2 \
--context $(kubectl config current-context)
こちらが成功したら
hal config features edit --artifacts true
を実行します
環境の選択
今回は Distributed installation on Kubernetes
に沿っています。
下記のコマンドを実行します $ACCOUNT
は先程設定したアカウント名を記述します
hal config deploy edit --type distributed --account-name $ACCOUNT
パーシステントストレージの設定
spinnakerはspinnaker上の設定ファイルを何らかのパーシステントストレージに保存するので、その設定を行います。
今回はs3を利用する方法で記述します。以下のコマンドでs3 bucketをパーシステントストレージとして扱う設定を行います。
hal config storage s3 edit \
--access-key-id $YOUR_SECRET_KEY_ID \
--secret-access-key \
--region $REGION \
--bucket $BUCKET_NAME
--bucket $BUCKET_NAME
は指定しない場合、指定したアクセスキーのアカウントにbucketをcreateする権限があれば自動的にbucketが作成されるようです
こちらが成功したら
hal config storage edit --type s3
を実行すると完了です
deploy
ここまできたらあとはやるだけです。
以下のコマンドで利用可能なバージョンを確認して
hal version list
こちらのコマンドでどのバージョンをデプロイするかセットします
hal config version edit --version 1.8.2
最後に以下を実行して完了です
hal deploy apply
動作確認
spinnakerが立ち上がるまで待ちます
kubectl get pod -n spinnaker --watch
で確認を行い、runningになったら
hal deploy connect
を実行して、成功したら http://localhost:9000/
にアクセスするとspinnakerのweb画面が表示されるはずです。