$30 off During Our Annual Pro Sale. View Details »

Neco プロジェクトの歩き方

Cybozu
PRO
February 27, 2020

Neco プロジェクトの歩き方

Cybozu
PRO

February 27, 2020
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. Neco プロジェクトの歩き⽅ Maneki & Neco ミートアップ ymmt

  2. Takeaways ▌Neco の動向がわかる ▌Neco の構成要素がわかる ▌Neco の成果物を活⽤できるかも

  3. プロジェクト紹介

  4. ⽬的 ▌cybozu.com データセンターの刷新

  5. None
  6. cybozu.com の規模 ▌契約社数 36,000社 ▌契約ユーザー数 140万⼈以上 ▌リクエスト数 3億/⽇ ▌サーバー台数 2,000台程度

  7. なぜ刷新︖ ▌ミドルウェアがほぼ⾃作でつらい ▌スケーラブルな設計でない ▌激しく密結合したモノリス ▌試験環境が共⽤で⼀つしかない

  8. Neco の⽅針 • 充実したエコシステムの恩恵 • 宣⾔的 API による⾃律運⽤ Kubernetes 中⼼

    • 世界を味⽅につけ、世界の⼀部になる • 英語不可避 本気の OSS • データセンターの試験は⼤変 • だからといって、⼿動試験が楽なわけじゃない︕ ⼿動試験、ダメ絶対
  9. 現時点の進捗 ▌3年計画の3年⽬ l1年⽬︓データセンター設計 l2年⽬︓Kubernetes クラスタ基盤 l3年⽬︓ストレージミドルウェア ▌データセンター×3を構築・運⽤中

  10. こいつ・・・動くぞ︕

  11. Neco システム図 GitHub Argo CD Neco CD Ubuntu 管理サーバー Sabakan

    CKE 3〜5台 管理サーバーを⾃動更新 CoreOS Coil CoreOS Coil CoreOS Coil CoreOS Coil ネット ブート Kubernetes ⾃動管理 Prometheus Teleport MetalLB TopoLVM Contour アプリを ⾃動管理 Made by ECK Ubuntu 管理サーバー Ubuntu 管理サーバー
  12. デモ 5分

  13. Neco CD git push TAG →

  14. Neco = Kubernetes? Neco = データセンター︖

  15. Neco = CloudNative Data Center

  16. 歩き⽅

  17. 何がある︖ ▌GitHub リポジトリ ▌コンテナイメージ (quay.io) ▌タスク管理(ZenHub) ▌ブログ ▌Slack

  18. リポジトリ github.com/ cybozu-go/neco 中⼼的リポジトリ cybozu-go/neco-apps Argo CD⽤ cybozu/neco-containers 各種コンテナ ほかいろいろ

  19. cybozu-go/neco ▌プロジェクトポータル ▌仮想データセンター構築ツール ▌最⼩限の Kubernetes クラスタ構築 l⾃社製インストーラー CKE l⾃社製CNIプラグイン Coil

    lDNS + Proxy
  20. cybozu-go/neco ▌プロジェクトポータル ▌仮想データセンター構築ツール ▌最⼩限の Kubernetes クラスタ構築 l⾃社製インストーラー CKE l⾃社製CNIプラグイン Coil

    lDNS + Proxy テストで出ます︕
  21. cybozu-go/neco-apps ▌Argo CD ⽤リポジトリ ▌多数の k8s アプリを CI/CD ▌neco +

    neco-apps = k8s distribution lkind 上で動作する簡易版プロファイルも⽤意 ▌マルチテナンシーも実装
  22. cybozu-go/neco-apps アプリ名 説明 argocd-config App of apps パターンの実装 argocd, argocd-ingress

    Self-managed bmc-reverse-proxy 遠隔管理インタフェースのリバースプロキシ cert-manager ACME や⾃⼰署名での証明書⾃動発⾏・更新 elastic Elastic-Cloud-on-Kubernetes (ECK) external-dns AWS や GCP の DNS サーバー⾃動管理 ingress Contour による L7 ロードバランサー local-pv-provisioner Local persistent volume ⾃動作成 metallb MetalLB による L3/L4 ロードバランサー neco-admission 様々な admission webhook network-policy Calico による NetworkPolicy 実装 teleport Gravitational Teleport 認証リバースプロキシ topolvm LVM ⽤ dynamic provisioner
  23. cybozu/neco-containers ▌Dockerfile 集 ▌原則として、全部⾃社でイメージをビルド ▌⾃社で即問題を解消するため

  24. quay.io/cybozu ▌Docker Hub の ようなサービス ▌neco-containers イメージを push

  25. ZenHub ▌Neco の活動予定 が全部わかる ▌github.com/neco の冒頭リンクの先

  26. ブログ ▌https://blog.kintone.io lOSS 活動の⼀環として設置 l現在は Neco 関連の記事のみ ▌https://blog.cybozu.io lの、Neco カテゴリの記事

  27. Slack ▌現在は TopoLVM ⽤のみ ▌README のリンクから

  28. 今後の予定 ▌MySQL クラスタオペレーター l⾃作説が濃厚 ▌Rook / Ceph プロダクション利⽤ ▌Coil v2

    超かっこいい NAT 機能を追加 ▌その他、ZenHub で全部公開︕