Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Kubernetes雑にまとめてみた 2019年12月版

1.029 visualizaciones

Publicado el

Kubernetesを知らない人向けにざっくり説明するとき用の資料

Publicado en: Ingeniería
  • Sé el primero en comentar

Kubernetes雑にまとめてみた 2019年12月版

  1. 1. Kubernetesを 超雑にまとめてみました 2019年12⽉19⽇発⾏
  2. 2. Kubernetesとは • アプリケーションをコンテナー上で良い感じに動かすツール • コンピュート、ネットワーク、ストレージリソースを提供 • よく知られている機能 • アプリのスケール • ローリングアップデート • L4/L7ロードバランス 2
  3. 3. CRI • コンテナーランタイムインターフェイス • その名の通り、コンテナーを作るために使われる • 例えば • Docker • Containerd • Kata Container • CRI-O 3
  4. 4. CNI • コンテナーネットワークインターフェイス • ネットワーク関連を提供するために使われる • 例えば • Flannel • Calico • Canal • Cilium • Tungsten Fabric • 他、色々 4
  5. 5. CSI • コンテナーストレージインターフェイス • 任意のストレージシステムをコンテナワークロードに公開する ために使われる • CSIはKubernetes v1.9でアルファ、v1.10でベータ、 Kubernetes v1.13でGA • 以前はFlexVolume DriverによってKubernetesとストレージ を連携していた 5
  6. 6. Kubernetesで使えるストレージ • 例えば • Amazon EBS • vSphere Volume • Cinder • NFS • iSCSI • FC 6 • Ceph • Cephfs • GlasterFS • …など • 一覧はこちら
  7. 7. 割と使いやすいやつ • Rook • K8sでストレージを簡単に利用 • Ceph • EdgeFS • Minio • NFS 7
  8. 8. ストレージ周りをざっくり • Storage Class • ストレージ • Persistent Volumes • 永続化ボリューム • Dynamic Volume Provisioning • 動的なプロビジョニング • 対応していないストレージもある 8 Storage Class PV PVC Pod PV PVC
  9. 9. Kubernetesとインストーラー 9
  10. 10. Minikube • Kubernetesをラップトップなどで環境を作ってお試しするもの • 1バイナリ、Windows、macOS、Linuxに対応 • コマンドを使っていくつかの主要機能を追加できる • VT-xもしくはAMD-vが必要 10
  11. 11. Minishift • OpenShiftをラップトップなどで環境を作ってお試しするもの • 動作可能なのはOpenShift 3.xまでなので注意 • VirtulBoxか以下の導入が必要 • Linux…KVM+Driver • macOS…xhyve or hyperkit • Windows…Hyper-V 11
  12. 12. CodeReady Containers(CRC) • OpenShift 4.xを手軽に(?)環境を作ってお試しするもの • 無料で使える • CRCインストーラーのダウンロードにはRed Hatアカウントが必 要 12
  13. 13. Kubeadm • Kubernetesクラスターを構築するツール • コンテナーランタイムを予めインストールしたうえで、インス トーラーを実行 • CNIを追加するとKubernetes環境が完成 • クラスター化も可能 • HAはちょっと面倒 13
  14. 14. Conjure-up • カノニカルが作ったOpenStackとKubernetesを簡単にセット アップするパッケージ • Snapパッケージで提供 • ここ最近はOpenStackは「microstack」、Kubernetesは「 microk8s」を提供しているので、このプロジェクトの今後がど うなるかはわからない 14
  15. 15. microk8s • カノニカルが作ったKubernetesを簡単にセットアップするパッ ケージ • Snapパッケージで提供 • マイナーバージョンは自動更新 • コマンドを使っていくつかの主要機能を追加できる • クラスターも組める 15
  16. 16. Juju • カノニカルが提供するアプリケーションのオーケストレーショ ンツール • マルチクラウド対応 • Kubernetes、OpenStack etc…など高可用デプロイまでサポー ト • GUI/CLIが存在する • アプリケーションをカタログから選んでデプロイ 16
  17. 17. Rancher • Rancher Labが提供するツール • Dockerホストを用意して指示されたコマンドを実行するだけで Kubernetes環境を作れる • etcd、ctl、workerノードを分けた構成ができます • RancherのDashboardは便利 • 複数のKubernetesを管理 • CNIを選択可能(Flannel,Calico,Canal,Weave Net) • アプリケーションをカタログから選んでデプロイ 17
  18. 18. k3s • Rancher Labが提供するツール • 1バイナリーでKubernetesを構築 • クラスター化も対応 • マルチアーキテクチャー(amd64,armhf,arm64 etc) • Linuxをインストールして1行コマンドを打つだけ • クラスターもクレデンシャルを含めて1行コマンドを打つだけ • IoT機器でも動かせるくらい軽量(512MBメモリーでも動作) 18
  19. 19. k3OS • Rancher Labが提供するツール • k3sが動くMinimal LinuxのLiveイメージを提供 • インストールも可能 • Alpine Linuxベース(らしい) 19
  20. 20. k3d • Rancher Labが提供するツール • k3sをDockerコンテナー上で動かす • 必要なもの: Docker、wgetかcurl 20
  21. 21. rke • Rancher Labが提供するCLIツール • Dockerホストを用意してrkeを使ってKubernetesをデプロイ • 必要に応じてRancherにクラスターを登録 • CNIを選択可能(Flannel,Calico,Canal,Weave Net) 21
  22. 22. Docker for Windows/Mac • DockerのWindows版やmacOS版にはKubernetesをデプロイす る機能が提供されている • Windows版はHyper-Vが必要(なのでPro Edition以上が必要) • macOS版は特に前提条件なし 22
  23. 23. 他のソリューション • Kubernetesソリューションは各社色々用意されている • 一覧はこちら • https://kubernetes.io/docs/setup/ 23
  24. 24. (K8s関連ではないけど)Multipassの紹介 • WindowsやmacOSで簡単にUbuntuインスタンスを作って使え るCLIツール • コレ+snapパッケージを使って、KubernetesやOpenStackなど もセットアップできます • microstack • microk8s 24
  25. 25. インストールしてみよう 25
  26. 26. Minikubeの場合 • minikubeをダウンロード • minikube start • 詳細は公式サイトへ 26
  27. 27. Microk8sの場合 • snapdをインストール • snap install microk8s --classic --stable • sudo microk8s.status • 詳細は公式サイトへ 27
  28. 28. k3sの場合 • Linuxをインストール • curl -sfL https://get.k3s.io | sh - • k3s kubectl get node • 詳細は公式サイトへ 28
  29. 29. 動かしてみよう 29
  30. 30. チュートリアル • 「Kubernetesの基本を学ぶ」の項目2から実施してみよう 30

×