Raspberry pi クラスタ上でAmbassador Patternを動かそうとしてはまる
コンテナの利用パターンを学ぶために 分散システムデザインパターン を読んでいます。
www.oreilly.co.jp
3章アンバサダーパターンより。
シャードしたRedisキャッシュに対するプロキシとして twemproxyをアプリケーションコンテナのPodに配置する設定が出てきますが、私の環境では正常に動作しませんでした。
$ kubectl logs ambassador-example twemproxy standard_init_linux.go:211: exec user process caused "exec format error"
結論から言うと、RaspberryPiはarmアーキテクチャのため使用しているイメージが動かなかったようでした。
https://hub.docker.com/r/ganomede/twemproxy/
書籍ではこちらのイメージを利用していますが、ここのDockerfileをそのまま自環境でビルド・プッシュして、プッシュしたイメージを利用すれば解決しました。
プッシュ先はGitLabのコンテナレジストリを使いました。