k8sもよく分かってないけどRancherを兎に角さわってみた

 k8sもよく分かってないけどRancherを兎に角さわってみた

C952d9f90c7ec6cb1b5513c05d3db536?s=128

yoshiyoshifujii

January 11, 2019
Tweet

Transcript

  1. k8s もよく分かってないけど を兎に角さわってみた Rancher Meetup #02 in Kobe @yoshiyoshifujii Rancher

    Meetup #02 in Kobe 1 / 20
  2. Yoshitaka Fujii @yoshiyoshifujii Chatwork 株式会社(5 ヶ月目) Software Enginner Scala 歴

    5 年目 Scala 関西 Summit スタッフ(4 年目) 自己紹介 k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 2 / 20
  3. 前回は、 Rancher どころか、 k8s もよくわかっていなかった k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup

    #02 in Kobe 3 / 20
  4. とりあえず、さわってみよう k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 4

    / 20
  5. とはいえ … いきなり、 AWS とか、 Azure とか Cloud 環境で試すのもちょっとハードル高いし、とりあえ ず、ローカルで

    Rancher を試してみたいなって思い まして … k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 5 / 20
  6. Rancher にDocker for Mac のKubernetes をインポートする k8s もよく分かってないけどRancher を兎に角さわってみた Rancher

    Meetup #02 in Kobe 6 / 20
  7. ってことで、デモします。 k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 7

    / 20
  8. Rancher を起動 Manual Quick Start | Rancher Labs このあたりに書いてあるdocker run

    コマンドをローカルで実行します。 $ docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 8 / 20
  9. Rancher を起動 Manual Quick Start | Rancher Labs このあたりに書いてあるdocker run

    コマンドをローカルで実行します。 $ docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher うまく起動してたら、 こんな感じで確認できるはず。 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS XXXXXXXXXXXX rancher/rancher:latest "entrypoint.sh" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp, 0.0.0.0:4 k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 8 / 20
  10. Rancher にアクセス ローカルで起動しているので、 http://localhost でアクセスできる ですが、あとで、Rancher にDocker for Mac 上のk8s

    cluster を登録する そのあたりで、localhost では不都合がある ので、自身のIP アドレスでアクセスする k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 9 / 20
  11. クラスターを追加 Rancher 上で、Docker for Mac のKubernetes Cluster を追加する 証明書がないので、 curl

    --insecure オプションを活かして実行する $ curl --insecure -sfL https://123.45.67.8/v3/import/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.yaml | kubectl apply -f - k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 10 / 20
  12. うまく追加できると … k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe

    11 / 20
  13. ちょっとさわってみると … k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe

    12 / 20
  14. Rancher で CD/CI できないかと調査する目的で、 Pipelines を少しさわってみた k8s もよく分かってないけどRancher を兎に角さわってみた Rancher

    Meetup #02 in Kobe 13 / 20
  15. Rancher2.1 のPipelines を試す k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in

    Kobe 14 / 20
  16. Pipeline のステージ 以下の3 ステージが用意されている。 Build Publish Deploy k8s もよく分かってないけどRancher を兎に角さわってみた

    Rancher Meetup #02 in Kobe 15 / 20
  17. サポートしているバージョン管理システム GitHub GitLab k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in

    Kobe 16 / 20
  18. Pipelines の動き Jenkins 内部でJenkins を立ててRancher が良い感じにつかってくれるらしい Rancher のPipelines が良い感じにJenkins を使ってくれるのでロックされててアクセスできない

    Jenkins はステートレスに動作するので永続性とかは心配無用とのこと Docker Registry Default で、Docker Registry を立てて、そこにPublish してくれる オプションで外部のDocker Registry にPublish するように設定することもできる Minio Minio というStorage にPipelines の実行ログを吐き出してくれる Docker Registry は外部を指定すれば永続性とかは大丈夫。Minio は外部ストレージ化する手順が このへん にあるとのこと。 k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 17 / 20
  19. トリガー Manually Automatically GitHub やGitLab のWebhook に自動で登録されるとのこと イベントとしては、push, pull request,

    tag が用意されている 管理者権限を持っているリポジトリしか対象にできない もちろん、GitHub やGitLab から見える位置に、Rancher を起動していないといけないからローカル起動は使えない k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 18 / 20
  20. .rancher­pipeline.yml stages: - name: Build steps: - runScriptConfig: image: golang:1.11

    shellScript: |- mkdir -p /go/src/github.com/rancher ln -s `pwd` /go/src/github.com/rancher/pipeline-example-go cd /go/src/github.com/rancher/pipeline-example-go go build -o bin/hello-server go test -cover - name: Publish steps: - publishImageConfig: dockerfilePath: ./Dockerfile buildContext: . tag: example-helloserver:${CICD_EXECUTION_SEQUENCE} - name: Deploy steps: - applyYamlConfig: path: ./deployment.yaml https://github.com/rancher/pipeline­example­go/blob/master/.rancher­pipeline.yml k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 19 / 20
  21. まとめ Rancher ちょっとさわってみようと思うけど、いきなりクラウドはちょっとなーって方は、ぜひDocker for Mac で。 Rancher をさわってると、k8s を体系的に学んでなくても、それなりに使えたりしそうと思った Rancher

    をさわりながら、逆に、k8s の用語とかを確認していくと、GUI からなので、分かりやすい Projects とか、Namespaces みたいな、ちょっと分かりにくいのも、GUI からなので、理解しやすかった Rancher は、ほんとうに簡単にk8s cluster を扱えたので、k8s を勉強するのにオススメ k8s もよく分かってないけどRancher を兎に角さわってみた Rancher Meetup #02 in Kobe 20 / 20