LoginSignup
2
4

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-07-23

何が書いてあるか

  • 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画面が表示されるはずです。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4