概要
- Netflixが公開しているSpinnakerをAWSで使っている事例が少なかったので、とりあえず使用感を試そうとインストールしてみました
- Spinnakerはコンテナ環境の継続的デリバリをおこなうためのツール
- kubernatesを使っている環境に向いている
- そもそもインストール失敗したので、実際にやった手順を紹介します
- インストール自体はできた
- 接続が面倒だった
- リソースアクセスができなかった
インストール
インストール手順書に従います
- 環境
- Ubuntu, Debian, MacOSに対応しています
- 今回はUbuntu16.04を使います
- Ubuntu, Debian, MacOSに対応しています
EC2の起動
- Ubuntu16.04のAMI(ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20180912) を利用
- Protectedサブネットに起動
- 踏み台サーバと9000/8084で接続できるように
Halyardのインストール
Halyardインストール
$ curl -O https://raw.githubusercontent.com/spinnaker/halyard/master/install/debian/InstallHalyard.sh
$ sudo bash InstallHalyard.sh
$ . ~/.bashrc
Roleとアカウントの設定
https://www.spinnaker.io/setup/install/providers/aws/aws-ecs/
以下の信頼関係でロールを設定
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ecs-tasks.amazonaws.com",
"ecs.amazonaws.com",
"application-autoscaling.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
アカウント設定
$ hal config provider ecs account add [ECSアカウント名] --aws-account [AWSアカウントID]
環境設定
- テストなので、Local installations of Debian packagesを選択します
$ hal config deploy edit --type localdebian
Storage設定
- S3を使います
$ hal config storage s3 edit --region ap-northeast-1
$ hal config storage edit --type s3
インストール
$ hal config version edit --version 1.9.5
$ hal deploy apply
$ hal deploy connect
接続
- 踏み台経由でsshポートフォワーディングさせて接続させる必要がある
- 9000と8084のポートを開ける必要がある
ターミナルで以下起動
$ ssh -v -L19000:localhost:19000 [踏み台ユーザー]@[踏み台IP] -t ssh -v -L19000:localhost:9000 -i [キーペア] ubuntu@[SpinnakerIP]
$ ssh -v -L18084:localhost:18084 [踏み台ユーザー]@[踏み台IP] -t ssh -v -L18084:localhost:8084 -i [キーペア] ubuntu@[SpinnakerIP]
- ブラウザで http://localhost:19000 に接続
エラー
Error fetching applications. Check that your gate endpoint is accessible. Further information on troubleshooting this error is available here.
- こんなエラーが発生
- どうやらgateにつながっていない模様
- エラー詳細を追っていくとredisに繋がってない可能性も・・・
最後に
- インストール/セットアップだけしてとりあえず試そうと思ったんですが、うまくいかず・・・
- そもそもEKS(kubernates)じゃなくてECSに対して有効なツールなのかも不明
- これ必要だよってのがあれば教えてくださいm(_ _)m