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

Digital Oceanで始める お手軽Cloud Provider生活 / Cloud Provider 101 with Digital Ocean

Kohei Ota
November 30, 2020

Digital Oceanで始める お手軽Cloud Provider生活 / Cloud Provider 101 with Digital Ocean

Kohei Ota

November 30, 2020
Tweet

More Decks by Kohei Ota

Other Decks in Technology

Transcript

  1. Digital Oceanで始める
    お手軽Cloud Provider生活
    inductor

    View Slide

  2. じこしょうかい
    apiVersion: inductor.apps/v1
    kind: Person
    metadata:
    name: “Kohei Ota”
    Twitter: “@_inductor_”
    GitHub: “@inductor”
    org: “HPE”
    role: “Solutions Architect”
    community: “CNCF Ambassador, CloudNative Days organizer, Docker Meetup
    Tokyo organizer”
    spec:
    replicas: 1

    View Slide

  3. DO上でSelf hosted
    Kubernetesを作る

    View Slide

  4. モチベーション
    ● CKS落ちた(しんどい
    ● クラスターのセキュリティ評価用にkube-benchするのに気軽に遊べる環境がほし

    ● パラメーター好きにいじれてCKSと同じkubeadmベースでついでにシュッといい感
    じにLBとかVolume触れるやつなんかないかな~~~?
    → それを満たすやつを作った

    View Slide

  5. https://github.com/inductor/
    terraform-do

    View Slide

  6. Digital Oceanについて

    View Slide

  7. Digital Oceanについて
    ● ニューヨークに拠点を構えるクラウドプロバイダー
    ● IaaSを中心とした「便利なVPS」的な機能を提供するクラウドサービス
    ○ 日本だとConoHaとかに近い感じの機能が多いかも?
    ● マネージドKubernetesサービスを提供するほか、KubeConでのスポンサー、技術
    ブログでの発信など外部での活躍も多い
    ● 日本にリージョンはなくフォーラムでは何年も前から希望する声も多いがまだ実現
    されていない

    View Slide

  8. Digital Ocean & Kubernetes
    ● マネージドKubernetesサービス
    ○ DO Droplets(IaaS)をワーカーとしたクラスターが作れる
    ○ Node poolはある(異種混合なノード構成が作りやすい )
    ○ Regional Clusterはない(シングルゾーンのみ )
    ○ 新しいバージョンへの追従がはやい!
    ○ Type: Load BalancerとStorageClassがDOのマネージドサービスと連携して使える
    シンプルな構成で動かすには便利

    View Slide

  9. Cloud Provider(Cloud Controller Manager)
    ● クラウドとKubernetesの世界をつなげるためのコンポーネント
    ○ Nodeリソースとクラウドの IaaS
    ○ Serviceリソースとクラウドのネットワーク、マネージド LB
    ● in-tree providerとしてAWS、GCPなどが実装済み
    ○ 現在新しいCloud Providerを使う場合は外部プロバイダとして実装してクラウドコントローラーを動
    かせばよい
    ● Digital OceanのプロバイダはOSSで公開
    ○ https://github.com/digitalocean/digitalocean-cloud-controller-manager
    ○ CSIはCSIプラグインとして別途提供
    ● ↑とkubeadmを組み合わせて、LBとPVCが使えるクラスターをSelf Hostedで作る

    View Slide

  10. クラスター構成
    ● 2Core 4GB master x 1
    ● 4Core 8GB worker x 3
    ● DO DropletsはパブリックIP、プライベートIPが1つずつ付与されるので、ノード間通
    信は内部NW
    ● Ansibleとか触る時間がなかったのでTerraformとShell scriptで実装
    ● Cloud ControllerとCSIを入れたらだいたいマネージドKubernetesと同じような構成
    で作れて楽しかった

    View Slide

  11. デモ

    View Slide

  12. まとめ
    ● DOはVPCとインフラだけのシンプルな構成なので入門しやすい
    ● クラウドコントローラーの実装も全部OSSで分割されているので困った時に読みや
    すい
    ● Terraformで作って潰すのがかんたんにできるのでkube-benchの検証とかCKSの
    勉強のついでに最近遊びはじめました(おうちにラックがないので・・・

    View Slide