Slide 1

Slide 1 text

Rancherとプロキシの戦い

Slide 2

Slide 2 text

自己紹介 株式会社スーパーソフトウエア・技術部(入社11年目) 井上 健太郎  妻(薬剤師 ※このあとの流れに効いてきます)  子(4歳&1歳)

Slide 3

Slide 3 text

ジェネリック医薬品はご存知ですか? 新薬と同じ成分・効能をもつ価格の安いお薬です。

Slide 4

Slide 4 text

会社における私のポジションを例える 新薬(先発品)メーカー  研究開発を行い、新しいものを生み出し製造。  =先ほど登壇した山澤はコッチ    ジェネリック(後発品)メーカー  自身で研究開発は行わず、特許の切れた新薬をパクって製造。  (だいぶ語弊あるので聞き流してください...)  =私はコッチ!!

Slide 5

Slide 5 text

2017年末の出来事 顧客:「CIツールは前進プロジェクトと同じく Jenkins使うけど、イン     ストールとか面倒だし、ぼちぼち Docker使かおうかな。」 以下、()内は私の心の声です。 私: (ここや!!)   「Dockerやるなら管理が煩雑化するのもアレなんで Rancher使っ    ていきましょう!」    (Dockerも使ったことない俺が言うのもなんやけど ...)   「オーケストレータは今後の見通し考慮して Cattleではなく    Kubernetesでいったんいきますね!」    (どっちも知らんのによう言うで ...)」   「とりあえず説明するよりこっちでちゃちゃっと環境作っちゃい    ますね!」    (やったことないくせに?)

Slide 6

Slide 6 text

Rancher使って、Kubernetesクラスタ上で、Jenkins動かす 2017年中のぼんやりとした目標 ⇒ただ、プロキシが気がかりではある・・・

Slide 7

Slide 7 text

プロキシとの戦い① Dockerインストール失敗 まず、Dockerをインストールしないことには始まらないので、yumの プロキシ設定をする。 これはいつものことなので全く想定どおり! $cat /etc/yum.conf proxy=http://proxy.xxx.xxx.co.jp:port proxy_username=user proxy_password=pass

Slide 8

Slide 8 text

Rancherサーバーが立ち上がった ↓ マスターとミニオンもすんなり追加できた ↓ しかし、プロキシとの本当の戦いはここからだった・・・

Slide 9

Slide 9 text

プロキシとの戦い② Helmコマンドインストール失敗 KubernetesマスターにHelmコマンドをインストールする。 ⇒shを実行してみるも無反応。なかでcurl を連発していること  に気づき、.curlrcにプロキシを設定。 ちょっとイラつきだす! $cat /root/.curlrc proxy = http://user:[email protected]:port

Slide 10

Slide 10 text

プロキシとの戦い③ Helm初期化失敗 helm initを発行すると 「Creating/root/.helm/repository/repositories.yaml」 の場所に接続できないみたいなエラーが出て失敗。 ⇒環境変数としてプロキシを定義。 もはや、やけくそ!

Slide 11

Slide 11 text

そもそも・・・  顧客は早くJenkinsを立ち上げることを要求している。 =構築に時間かかりそうならアプローチを変えるべき。   ⇒いったんcattle使ってみよう。 ⇒すんなりJenkins立ち上がりました。

Slide 12

Slide 12 text

結論 私がまず顧客にすべき話は、 オーケストレーター何にするかとかではなく、 プロキシ環境の弊害と対策についてでした。

Slide 13

Slide 13 text

JenkinsのタイムゾーンがUTCになって いるという指摘を顧客から受けて、 docker-compose.ymlを直接触らなくて も、RancherのUIから環境変数に指定し てやれば解決できますよとやって見せる と意外とウケた。 余談ですが 以上。