Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rancher Pipeline入門-Rancher Pipelineの使いどころ・辛いところ-

Rancher Pipeline入門-Rancher Pipelineの使いどころ・辛いところ-

Rancher Meetup #19の発表資料です。
Rancher Pipelineの説明および使いどころ、導入方法について解説しています。

Ryoma Fujiwara

May 30, 2019
Tweet

More Decks by Ryoma Fujiwara

Other Decks in Technology

Transcript

  1. © 2019, Ryoma Fujiwara, All Rights Reserved Rancher Pipeline入門 -RancherRancher

    Pipelineの使いどころ・辛使いどころ・辛いいどころ・辛いところ辛いところいところ-Rancher Tea pod 418 藤原 涼馬 (@RYoMa_0923)
  2. © 2019 Ryoma Fujiwara, All rights reserved 自己紹介 • 藤原

    涼馬(@RYoMa_0923) – インフラエンジニア@東京駅近辺 & フリーランスエンジニア・辛いところコンサルタント(Tea pod 418) – 職歴 • ユーザ系系SIer R&D (2011年4月~2015年12月) • インフラエンジニア@丸の内の使いどころ・辛内(2016年1月〜) • フリーランスエンジニア・辛いところコンサルタント(2018年4月~) – 他 • Japan Container Days v18.12 / Cloud Native Days Tokyo セッションスピーカー(予定) • @ITおよびThinkITで連載中連載中
  3. © 2019 Ryoma Fujiwara, All rights reserved 自己紹介 • 藤原

    涼馬(@RYoMa_0923) – インフラエンジニア@東京駅近辺 & フリーランスエンジニア・辛いところコンサルタント(Tea pod 418) – 職歴 • ユーザ系系SIer R&D (2011年4月~2015年12月) • インフラエンジニア@丸の内の使いどころ・辛内(2016年1月〜) • フリーランスエンジニア・辛いところコンサルタント(2018年4月~) – 他 • Japan Container Days v18.12 / Cloud Native Days Tokyo セッションスピーカー(予定) • @ITおよびThinkITで連載中連載中 パラレルキャリア始めましためました
  4. © 2019 Ryoma Fujiwara, All rights reserved 目次 • CIちょっとおさらい(他の使いどころ・辛人が話してくれてが話してくれてた話してくれてたらしてくれてたらスキップ)

    • Rancher Pipelineの使いどころ・辛紹介 • Rancher Pipelineの使いどころ・辛アーキテクチャ • Rancher Pipelineどうつかう?
  5. © 2019 Ryoma Fujiwara, All rights reserved そもそもCIって? • 開発者が自分のコードが話してくれてた自分のコード変更をの使いどころ・辛コード変更を定期的に変更を定期的にセンを定期的にセント定期的にセントラルリにセントラルリポセントラルリポジトリにセントラルリポ

    マージし、その使いどころ・辛後ににセントラルリポ自動化されたビルドとされたビルド変更を定期的にとテストを定期的にセント実行す るDevOpsソフトウェア開発の使いどころ・辛手法 https://aws.amazon.com/jp/devops/continuous-Rancherintegration/
  6. © 2019 Ryoma Fujiwara, All rights reserved なぜ自動化されたビルドとされたビルド変更を定期的にとテストが話してくれてた重要なのか?なの使いどころ・辛か? 適切に計算機で自動にセントラルリポ計算機で自動化ビルドで連載中自動化されたビルドとビルド変更を定期的にとテストを定期的にセント実装した場合と比較した場合と比較してと比較してして •

    人が話してくれて間はミスをする生はミスをする生きミスを定期的にセントする生き物であるき物である物であるで連載中ある • 人が話してくれて間はミスをする生にセントラルリポよるミスの使いどころ・辛再現性は低いはミスをする生き低いい – 誰がやるかによっが話してくれてたやるかにセントラルリポよってミスの使いどころ・辛内容や発生率が変わや発生き物である率が変わるが話してくれてた変わる – 体調や周辺環境によや周辺環境によって同一人にセントラルリポよって同一人が話してくれて物であるで連載中あってもミスの使いどころ・辛内容や発生率が変わや 発生き物である率が変わるはミスをする生き変わる
  7. © 2019 Ryoma Fujiwara, All rights reserved なぜ自動化されたビルドとされたビルド変更を定期的にとテストが話してくれてた重要なのか?なの使いどころ・辛か? 適切に計算機で自動にセントラルリポ計算機で自動化ビルドで連載中自動化されたビルドとビルド変更を定期的にとテストを定期的にセント実装した場合と比較した場合と比較してと比較してして •

    人が話してくれて間はミスをする生はミスをする生きミスを定期的にセントする生き物であるき物である物であるで連載中ある • 人が話してくれて間はミスをする生にセントラルリポよるミスの使いどころ・辛再現性は低いはミスをする生き低いい – 誰がやるかによっが話してくれてたやるかにセントラルリポよってミスの使いどころ・辛内容や発生率が変わや発生き物である率が変わるが話してくれてた変わる – 体調や周辺環境によや周辺環境によって同一人にセントラルリポよって同一人が話してくれて物であるで連載中あってもミスの使いどころ・辛内容や発生率が変わや 発生き物である率が変わるはミスをする生き変わる 何度もビルドとテスもビルドとテストビルドとテストをとテストをテストをを 繰り返すのであれり返すのであれば返すのであれば自すのであれば自動化したほう自動化したほうが良いしたほうが良い良いい • 確実にミス にミス ミス or 成功に至りやすいにミス 至りやすいり返すのであればやすい • 人間を修正するよりを修正するよりコードするより返すのであればコードとテストをを修正するよりコードしたほうが良い確実にミス • 余計なヘイトを人になヘイトを人に対ヘイトをを人にミス 対してためずに済してためずにミス 済みやすいみやすい
  8. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipeline •

    見栄えのよいえ入っていて、十の使いどころ・辛よい(&多分のコード変更を使いどころ・辛いいやすい)UI • GUIで連載中グラフィでカルにセントラルリポCIパイプラインが話してくれてた作成可能と空きスト • パイプライン実行の使いどころ・辛トリガーを定期的にセント指定可能と空きスト • Rancherとの使いどころ・辛連携が継続して強化が話してくれてた継続して強化されてして強化されたビルドとされている(特ににセントラルリポv2.2で連載中)
  9. © 2019 Ryoma Fujiwara, All rights reserved パイプラインの使いどころ・辛実行トリガーを定期的にセント指定可能と空きスト • 特に定の使いどころ・辛イベント(PR/push/tag)時にトリガー時にセントラルリポトリガー

    • 特に定の使いどころ・辛ブランチへの使いどころ・辛イベント時にセントラルリポトリガー といったことが話してくれてた可能と空きスト
  10. © 2019 Ryoma Fujiwara, All rights reserved Rancherとの使いどころ・辛連携が継続して強化が話してくれてた強化されたビルドと • 実行可能と空きストなことが話してくれてた増えているえ入っていて、十ている

    – スクリプトの使いどころ・辛実行 – コンテナ系のコミュニテイメージの使いどころ・辛ビルド変更を定期的にとレジストリへの使いどころ・辛プッシュ – YAMLの使いどころ・辛デプロイ
  11. © 2019 Ryoma Fujiwara, All rights reserved Rancherとの使いどころ・辛連携が継続して強化が話してくれてた強化されたビルドと • 実行可能と空きストなことが話してくれてた増えているえ入っていて、十ている

    – スクリプトの使いどころ・辛実行 – コンテナ系のコミュニテイメージの使いどころ・辛ビルド変更を定期的にとレジストリへの使いどころ・辛プッシュ – YAMLの使いどころ・辛デプロイ – カタログアプリケーションの使いどころ・辛デプロイ New! @v.2.2 – カタログテンプレートの使いどころ・辛レンダリング(gitops目的にセントラルリ?) New! @v2.2
  12. © 2019 Ryoma Fujiwara, All rights reserved とはミスをする生きいっても弱点でないわけではで連載中ないわけで連載中はミスをする生きない • テスト機で自動化ビルド能と空きストが話してくれてたあまり強くない

    – ネイティでブで連載中テスト結果を定期的にセントパースして表示するような機能するような機で自動化ビルド能と空きストはミスをする生き持っていないっていない (2019年5月時点でないわけでは) • 単体テストはミスをする生きで連載中き物であるる・辛いところ結合と比較してテスト以降は少し工夫が必はミスをする生き少し工夫が必要し工夫が必要が話してくれてた必要なのか? – 事前にテスト前提とにセントラルリポテスト前にテスト前提と提となるリソースとなるリソースを定期的にセントデプロイするなど
  13. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛構成 •

    イチから実装した場合と比較はミスをする生きしていません。いろんなもの使いどころ・辛を定期的にセント組み合わせ実現み合わせ実現合と比較してわせ実現 しています – Jenkins • パイプラインの使いどころ・辛実行エンジン(Jenkins GUIへの使いどころ・辛アクセスはミスをする生き不可) – Minio • 実行結果の使いどころ・辛stdour/stderrの使いどころ・辛保存先 – Docker Registry • ビルド変更を定期的にしたイメージの使いどころ・辛デフォルトの使いどころ・辛保存先 – 個人が話してくれて的にセントラルリにセントラルリポはミスをする生きDockerHubやGitLab CRなど外部のものを推奨の使いどころ・辛もの使いどころ・辛を定期的にセント推奨
  14. © 2019 Ryoma Fujiwara, All rights reserved パイプラインの使いどころ・辛流れれ .rancher -Rancherpipeline.yml

    パイプライン定義 (gitリポジトリ内) Gitリポジトリ Jenkins コンテナ系のコミュニテ イメージ レジストリ Minio パイプライン実行 実行結果ログ イメージの使いどころ・辛保管
  15. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛使いどころ・辛いいどころを定期的にセント考え入っていて、十てみ合わせ実現る(私見) •

    Werckerはミスをする生き触ったことがないったことが話してくれてたないの使いどころ・辛で連載中、あまりかけません(間はミスをする生違ってたら会場かってたら会場か らツッコミお願いしますいします) • CIサーバを管理したくなを定期的にセント管理したくない場合したくない場合と比較して (Enterprise版除くく) • iOSアプリを定期的にセントSaaSで連載中ビルド変更を定期的にしたい場合と比較して • CIサーバを管理したくなを定期的にセント管理したくない場合したくない場合と比較して • Oracle Cloudの使いどころ・辛ユーザ系の使いどころ・辛場合と比較して • 大規模パイプラインをパイプラインを定期的にセント組み合わせ実現み合わせ実現たい場合と比較して • (複数ファイルにパイファイルにセントラルリポパイプライン定義を定期的にセントわけられる) • CIサーバを管理したくなを定期的にセント管理したくない場合したくない場合と比較して (gitlab.com利用時) • オンプレの使いどころ・辛計算リソースが話してくれてた余っているっている 場合と比較して(CIの使いどころ・辛Runnerの使いどころ・辛追加が容易が話してくれてた容や発生率が変わ易になる) • GitLabを定期的にセントすで連載中にセントラルリポ使いどころ・辛いっている場合と比較して • DevOpsよくわからん場合と比較して (関連ツールが話してくれてた内部のものを推奨にセントラルリポ揃っているのでっているの使いどころ・辛で連載中) • Rancher使いどころ・辛いってる場合と比較して • Rancherカタログを定期的にセント使いどころ・辛いってCDまで連載中や りたい場合と比較して
  16. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛使いどころ・辛いいどころを定期的にセント考え入っていて、十てみ合わせ実現る(私見) •

    Werckerはミスをする生き触ったことがないったことが話してくれてたないの使いどころ・辛で連載中、あまりかけません(間はミスをする生違ってたら会場かってたら会場か らツッコミお願いしますいします) • CIサーバを管理したくなを定期的にセント管理したくない場合したくない場合と比較して (Enterprise版除くく) • iOSアプリを定期的にセントSaaSで連載中ビルド変更を定期的にしたい場合と比較して • CIサーバを管理したくなを定期的にセント管理したくない場合したくない場合と比較して • Oracle Cloudの使いどころ・辛ユーザ系の使いどころ・辛場合と比較して • 大規模パイプラインをパイプラインを定期的にセント組み合わせ実現み合わせ実現たい場合と比較して • (複数ファイルにパイファイルにセントラルリポパイプライン定義を定期的にセントわけられる) • CIサーバを管理したくなを定期的にセント管理したくない場合したくない場合と比較して (gitlab.com利用時) • オンプレの使いどころ・辛計算リソースが話してくれてた余っているっている 場合と比較して(CIの使いどころ・辛Runnerの使いどころ・辛追加が容易が話してくれてた容や発生率が変わ易になる) • GitLabを定期的にセントすで連載中にセントラルリポ使いどころ・辛いっている場合と比較して • DevOpsよくわからん場合と比較して (関連ツールが話してくれてた内部のものを推奨にセントラルリポ揃っているのでっているの使いどころ・辛で連載中) • Rancher使いどころ・辛いってる場合と比較して • Rancherカタログを定期的にセント使いどころ・辛いってCDまで連載中や りたい場合と比較して Rancher Pipelineの使いどころ・辛強み合わせ実現 Rancherとの使いどころ・辛 インテグレーション
  17. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛使いどころ・辛いいどころを定期的にセント考え入っていて、十てみ合わせ実現る(私見) •

    実はミスをする生き強み合わせ実現はミスをする生きCDなの使いどころ・辛で連載中はミスをする生きないかという疑惑...... この使いどころ・辛あたり
  18. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛使いどころ・辛いいどころ •

    餅は餅屋に任せるはミスをする生き餅は餅屋に任せる屋に任せるにセントラルリポ任せるせる SaaSの使いどころ・辛有り余るパワーでり余っているるパワーで連載中ビルド変更を定期的に & テスト コード変更を定期的に管理したくない場合(gitリポジトリ)/コンテナ系のコミュニテイメージ管理したくない場合 (GitLab CR)もまとめて行いつつビルド変更を定期的に&テスト 大規模パイプラインをパイプラインの使いどころ・辛記述が容易が話してくれてた容や発生率が変わ易になる Rancherで連載中管理したくない場合している k8sクラスタへの使いどころ・辛デプロイ CI CD 特に定ブランチへの使いどころ・辛 マージ・辛いところタグ付けなどなどけなどなど カタログアプリ の使いどころ・辛デプロイ
  19. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛使いどころ・辛いいどころ •

    ごく小規模パイプラインをならば疲れることがなあり Rancherで連載中管理したくない場合している k8sクラスタへの使いどころ・辛デプロイ CI CD 特に定ブランチへの使いどころ・辛 マージ・辛いところタグ付けなどなどけなどなど カタログアプリ の使いどころ・辛デプロイ
  20. © 2019 Ryoma Fujiwara, All rights reserved 宣伝 ThinkITにセントラルリポて連載中記事の使いどころ・辛次回しましょう予定が話してくれてたRancher Pipeline

    6/5にセントラルリポ第7回しましょうが話してくれてた公開予定で連載中す(GitLabCRとRancher Pipelineの使いどころ・辛組み合わせ実現み合わせ実現合と比較してわせ) https://thinkit.co.jp/series/8740 より
  21. © 2019 Ryoma Fujiwara, All rights reserved 意図 • Rancher

    Pipelineを定期的にセント利用するための使いどころ・辛手順の明示の使いどころ・辛明示するような機能 • ここまで連載中スコープにセントラルリポ含めてもこれだけめてもこれだけ短くすみますといくすみ合わせ実現ますというアピー ル
  22. © 2019 Ryoma Fujiwara, All rights reserved 全体の使いどころ・辛流れれ • Rancher

    Pipelineの使いどころ・辛実行環境によって同一人を定期的にセントローカルの使いどころ・辛Linuxマシンで連載中 整えるまでの流れえ入っていて、十るまで連載中の使いどころ・辛流れれを定期的にセント解説 1. Dockerの使いどころ・辛インストール 2. kubectlの使いどころ・辛準備 3. k8s環境によって同一人の使いどころ・辛構築タイムアタック(with rke 1.18) 4. Rancherの使いどころ・辛デプロイ 5. Longhornの使いどころ・辛インストール 6. Rancher Pipelineの使いどころ・辛セットアップ 前にテスト前提と提となるリソースとなる動作環境によって同一人 前にテスト前提と提となるリソースとなる動作環境によって同一人 • Ubuntu 18.04 LTS • Docker 18.09 • rke v1.18 • Rancher v2.2.3 • Longhorn v0.0.5 ?
  23. © 2019 Ryoma Fujiwara, All rights reserved 全体の使いどころ・辛流れれ • Rancher

    Pipelineの使いどころ・辛実行環境によって同一人を定期的にセントローカルの使いどころ・辛Linuxマシンで連載中 整えるまでの流れえ入っていて、十るまで連載中の使いどころ・辛流れれを定期的にセント解説 1. Dockerの使いどころ・辛インストール 2. kubectlの使いどころ・辛準備 3. k8s環境によって同一人の使いどころ・辛構築タイムアタック(with rke 1.18) 4. Rancherの使いどころ・辛デプロイ 5. Longhornの使いどころ・辛インストール 6. Rancher Pipelineの使いどころ・辛セットアップ 前にテスト前提と提となるリソースとなる動作環境によって同一人 前にテスト前提と提となるリソースとなる動作環境によって同一人 • Ubuntu 18.04 LTS • Docker 18.09 • rke v1.18 • Rancher v2.2.3 • Longhorn v0.0.5 ? Minio/Docker Registryの使いどころ・辛 PersistentVolumeの使いどころ・辛ためにセントラルリポ利用
  24. © 2019 Ryoma Fujiwara, All rights reserved Dockerの使いどころ・辛インストール $ sudo

    usermod -RancheraG docker ユーザ系名 $ curl https://releases.rancher.com/install-Rancherdocker/18.09.sh | sh $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1) Dockerの使いどころ・辛インストール 2) ユーザ系を定期的にセントdockerグループにセントラルリポ追加が容易 3) 動作確認 ここで連載中一度でテストを実行ログアウトしてログインし直すす
  25. © 2019 Ryoma Fujiwara, All rights reserved kubectlの使いどころ・辛インストール $ chmod

    +x kubectl $ sudo mv kubectl /usr/local/bin/ $ curl -RancherLO https://storage.googleapis.com/kubernetes-Rancherrelease/release/v1.14.0/bin/linux/amd64/kubectl 1) kubectlの使いどころ・辛ダウンロード変更を定期的に 2) 実行権限の付与との使いどころ・辛付けなどなど与ととPATHの使いどころ・辛通ったディレクトったディでレクトリへの使いどころ・辛バを管理したくなイナ系のコミュニテリ移動
  26. © 2019 Ryoma Fujiwara, All rights reserved k8sクラスタを定期的にセントローカルにセントラルリポ準備する $ rke

    up -Rancher-Rancherlocal $ wget https://github.com/rancher/rke/releases/download/v0.1.18/rke_linux-Rancheramd64 $ mv rke_linux-Rancheramd64 rke $ chmod +x rke $ sudo mv rke /usr/local/bin $ kubectl get nodes –kubeconfig ~/kube_config_cluster.yml NAME STATUS ROLES AGE VERSION localhost Ready controlplane,etcd,worker 6m13s v1.13.5 1) rkeの使いどころ・辛準備 2) クラスタを定期的にセントローカルで連載中起動 3) 動作確認
  27. © 2019 Ryoma Fujiwara, All rights reserved Rancherを定期的にセントstandaloneで連載中インストールする $ docker

    run -Rancherd -Rancher-Rancherrestart=unless-Rancherstopped -Rancherp 8080:80 -Rancherp 8443:443 rancher/rancher 1) Rancherの使いどころ・辛起動 2) adminパスワード変更を定期的にの使いどころ・辛指定 3) ド変更を定期的にメインの使いどころ・辛指定
  28. © 2019 Ryoma Fujiwara, All rights reserved クラスタの使いどころ・辛追加が容易 $ curl

    -Rancher-Rancherinsecure -RanchersfL https://192.168.0.3:8443/v3/import/5tc5pf8rgkcw65g4p89646tcp7gjvjhtrnm4sdgvcb259nf4rwsllx.yaml | kubectl -Rancher-Rancherkubeconfig ~/kube_config_cluster.yml apply -Rancherf -Rancher namespace/cattle-Ranchersystem created serviceaccount/cattle created clusterrolebinding.rbac.authorization.k8s.io/cattle-Rancheradmin-Rancherbinding created secret/cattle-Ranchercredentials-Rancher9f6a6ba created clusterrole.rbac.authorization.k8s.io/cattle-Rancheradmin created deployment.extensions/cattle-Ranchercluster-Rancheragent created daemonset.extensions/cattle-Ranchernode-Rancheragent created
  29. © 2019 Ryoma Fujiwara, All rights reserved クラスタの使いどころ・辛追加が容易 $ curl

    -Rancher-Rancherinsecure -RanchersfL https://192.168.0.3:8443/v3/import/5tc5pf8rgkcw65g4p89646tcp7gjvjhtrnm4sdgvcb259nf4rwsllx.yaml | kubectl -Rancher-Rancherkubeconfig ~/kube_config_cluster.yml apply -Rancherf -Rancher namespace/cattle-Ranchersystem created serviceaccount/cattle created clusterrolebinding.rbac.authorization.k8s.io/cattle-Rancheradmin-Rancherbinding created secret/cattle-Ranchercredentials-Rancher9f6a6ba created clusterrole.rbac.authorization.k8s.io/cattle-Rancheradmin created deployment.extensions/cattle-Ranchercluster-Rancheragent created daemonset.extensions/cattle-Ranchernode-Rancheragent created -Rancher-Rancherkubeconfig ~/kube_config_cluster.yml を定期的にセント忘れずにれずにセントラルリポ
  30. © 2019 Ryoma Fujiwara, All rights reserved Longhornの使いどころ・辛インストール準備 $ sudo

    apt-Rancherget install y open-Rancheriscsi 1) open-Rancheriscsiの使いどころ・辛インストール 2) longhorn-Ranchersystem namespaceの使いどころ・辛作成 longhorn-Ranchersystem namespaceを定期的にセントDefaultプロジェクト内にセントラルリポ作る
  31. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛設定 •

    プロジェクト内で連載中Tools → Pipeline – 画面の指示に従っての使いどころ・辛指示するような機能にセントラルリポ従ってってGitHub/GitLab/BitBucketとの使いどころ・辛連携が継続して強化を定期的にセント セットアップ
  32. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipelineの使いどころ・辛設定 •

    GitLabにセントラルリポApplicationとして登録 – scopeにセントラルリポはミスをする生きapiを定期的にセント指定
  33. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipeline •

    Application IDとSecretを定期的にセント設定してRancherからGitLabにセントラルリポ認証
  34. © 2019 Ryoma Fujiwara, All rights reserved Rancher Pipeline •

    連携が継続して強化可能と空きストなリポジトリ一覧が表示されるが話してくれてた表示するような機能される – Enabledにセントラルリポトグルを定期的にセント切に計算機で自動り替えると連携するえ入っていて、十ると連携が継続して強化する