Edited at

halyardを使ってspinnaker1.8をdeployする MacOSX編

More than 1 year has passed since last update.


何が書いてあるか


  • 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の設定

https://www.spinnaker.io/setup/install/providers/

halyardでdeployを行うspinnakerのcloud providerを設定します。

今回はkubernetes V2に沿って行います。


accountの設定

https://www.spinnaker.io/setup/install/providers/kubernetes-v2/

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

を実行します


環境の選択

https://www.spinnaker.io/setup/install/environment/#distributed-installation

今回は Distributed installation on Kubernetes に沿っています。

下記のコマンドを実行します $ACCOUNT は先程設定したアカウント名を記述します

hal config deploy edit --type distributed --account-name $ACCOUNT


パーシステントストレージの設定

https://www.spinnaker.io/setup/install/storage/

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

https://www.spinnaker.io/setup/install/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画面が表示されるはずです。