Neco

サイボウズサマーインターン2020 報告 〜 OSSへの貢献を通して学ぶKubernetes基盤開発

こんにちは。Necoチームの池添とsatです。 サイボウズは毎年サマーインターンシップを開催しています。 今年は新型コロナウイルス(COVID-19)の影響で一時開催が危ぶまれました。 しかし、この状況で学生の皆さんの就業体験の機会が失われてしまうのもよくな…

Folding@homeを通じてCOVID-19治療薬の発見に貢献します

こんにちは。Necoの@dulltzです。 サイボウズでは、オンプレミス機材の一部を活用してFolding@homeによるCOVID-19のタンパク質構造予測に貢献することにしました。 ご自身で動かしてみたいというかた向けに、我々が使っているKubernetesマニフェストも記載し…

OSSへの貢献ノウハウ: ユーザサポート編

はじめに こんにちは、Necoプロジェクトのsatです。本記事は先日公開した以下の記事の続編です。 blog.cybozu.io 上記の記事ではOSSプロジェクト全体を盛り上げる手段を次のように紹介しました。 プロジェクト全体を盛り上げるには例えば次のような方法があ…

Maneki & Neco ミートアップの資料を公開します

Neco プロジェクト責任者の ymmt です。 Neco プロジェクトはサイボウズのクラウドサービス基盤を Kubernetes をベースとして刷新するプロジェクトです。 3か年計画の3年目ですが、すでに国内3箇所でデータセンターを稼働しています。 Maneki プロジェク…

OSSへの貢献ノウハウ

はじめに こんにちは、Necoプロジェクトのsatと申します。本記事は世間で何かと重要といわれつつもなぜ重要なのかがわかりにくく、かつ、広くやりかたが知られていないOSSへの貢献ノウハウについて述べます。本記事は筆者が過去にはLinuxカーネル、現在ではR…

Kubernetesへの機能追加にかかわった話と、そこから得た知見

はじめに こんにちは、Necoプロジェクトのsatと申します。 みなさんはKubernetesに機能が追加されるまでの流れをご存知でしょうか。githubに存在するプロジェクトであれば典型的にはfeature request用のissueが立てられて、それをもとにPRが作られてレビュー…

テナントがArgoCD Applicationを任意に作れるようにする

こんにちは Necoの@dulltzです。 皆さんはマルチテナントでGitOpsするためにどのような構成をとっていますか? 我々はArgoCDを利用しています。 以前、@zoetroからArgoCDについての紹介がありました。 blog.cybozu.io 上の記事でもテナント*1に対しArgoCDを…

KubeCon + CloudNativeCon Europe 2020 に登壇します

Neco プロジェクト責任者の ymmt です。 Neco プロジェクトでは大規模な分散システム基盤を Kubernetes というオープンソースソフトウェアを中心として作っています。 この度、来る 3 月に開催される KubeCon + CloudNativeCon Europe 2020 に我々のチームが…

ストレージオーケストレーターRookへのサイボウズのコミット方針

はじめに こんにちは、Necoプロジェクトのsatです。 NecoではKubernetes上のアプリケーションが使うストレージをCephによって提供すること、およびCephクラスタの管理にKubernetes上で動作するストレージオーケストレーターRookを使うことを決めています。本…

Argo CDによる継続的デリバリーのベストプラクティスとその実装

こんにちは。Necoの池添(@zoetro)です。 現在San Diegoで開催されているKubeCon 2019に参加しているのですが、時差ボケで寝付けないのでこんなブログを書いています。 さて、現在我々はKubernetes上のアプリケーションの継続的デリバリーを実現するためにArg…

CKEがKubernetes Conformance Softwareに認定されました

こんにちは、Necoプロジェクトの池添(@zoetro)です。 このたびサイボウズがCNCF(Cloud Native Computing Foundation)にシルバーメンバーとして加盟しました。 それに伴い、我々の開発しているCKE(Cybozu Kubernetes Engine)がKubernetes Conformance Softwar…

Kubernetesでローカルストレージを有効活用しよう

こんにちは、Necoプロジェクトの池添(@zoetro)です。 今回は、Kubernetes向けにTopoLVMというCSI (Container Storage Interface) プラグインを開発したので紹介したいと思います。 TopoLVMは以下のような特徴を持っており、Kubernetesでローカルストレージを…

cybozu.com の新データセンター「Neco」が稼働開始

こんにちは、Neco プロジェクトの責任者 ymmt です。 Neco は、2018 年 1 月に開始した cybozu.com のデータセンターを一から刷新するプロジェクトです。 今回は Neco の成果が結実した新データセンターが稼働開始したことをお知らせします。 あわせて、現時…

安全なKubernetesクラスタのつくりかた 〜ポリシー編〜

こんにちは、Necoプロジェクトの池添(@zoetro)です。 今回は、安全なKubernetesクラスタを構築するために、我々がどのようなポリシーを適用しているのかを紹介したいと思います。

TeleportでKubernetesクラスタへのユーザーアクセスを管理する

こんにちは、Necoプロジェクトの池添(@zoetro)です。 今回はTeleportというツールを利用して、Kubernetesクラスタへのユーザーアクセスを管理する方法を紹介します。 TL;DR TeleportとKubernetesを連携させることで、以下のような仕組みを実現することができ…

Test Everything: データセンター仮想化と自動テストの取り組み

こんにちは。Necoプロジェクトの池添(@zoetro)です。 Necoプロジェクトでは、自社データセンター上のインフラ構築の仕組みを開発しており、サーバーのプロビジョニング、Kubernetesクラスタの構築、Kubernetes上で動くアプリケーションのデプロイ、各種ソフ…

お手軽Kubernetesクラスタ作成ツール "kind"の紹介

こんにちは、Necoプロジェクトのsatです。今回はKubernetesクラスタお手軽に作れるkindというツールを紹介します。kindはKubernetes In Dockerの略です。 本記事の要約 kindとはKubernetesクラスタを簡単に作れるツール インストール、およびクラスタ作成が…

KubernetesロードバランサーのMetalLBを導入した話(Necoプロジェクト体験入部)

こんにちは。kintoneメンテチームの石井です。 サイボウズでは、cybozu.comのアーキテクチャ刷新プロジェクト「Neco」を実施しています。 今回、サイボウズの「大人の体験入部」の制度を利用し、Necoプロジェクトの体験入部をしてきたので、その内容をレポー…

ストレージデバイスの暗号化に用いる暗号スイート間の性能比較

はじめに Necoプロジェクトのsatです。 cybozu.comの次世代インフラ基盤Necoにおいてはストレージデバイスが紛失や盗難にあったときでもお客様のデータの漏洩を防ぐために、ストレージデバイスの暗号化をしています*1。ストレージデバイスの暗号化にはLinux…

Kubernetesのネットワークプラグインを自作した話

こんにちは、インフラ刷新プロジェクト「Neco」の[@ueokande][]です。 本日はインフラ刷新プロジェクトで開発したKubernetesネットワークプラグインについてお話します。 Necoでは現在のアーキテクチャを刷新して、機材管理やアプリケーションのデプロイを簡…

分散ストレージソフトウェアCephとは

はじめに こんにちは、Necoプロジェクトのsatです。Necoプロジェクトではサイボウズのクラウド基盤であるcybozu.comのストレージに関する様々な要件を満たすために分散ストレージソフトウェアCephを導入する予定です。本記事ではCephとは何者かについて紹介…

Neco のネットワーク - 実装編

Neco プロジェクトの ymmt です。Neco は cybozu.com のインフラを刷新するプロジェクトで、先日は全面的に見直したネットワークのアーキテクチャと設計をご紹介しました。 blog.cybozu.io 簡単にまとめると、spine-leaf ネットワークを実現するにあたって、…

ルーティングソフトウェア BIRD の使いかた

Neco プロジェクトの ymmt です。本記事では Neco のネットワークの実装を理解するために、ルーティングソフトウェアである BIRD の仕組みと設定方法を解説します。 公式文書がすこしとっつきにくいので、こちらを読んでから公式文書にあたるとスムーズに理…

データセンター内で使う BGP の基礎知識

Neco プロジェクトの ymmt です。本記事では Neco のネットワークの実装を理解するために必要となる範囲で Border Gateway Protocol (BGP)の基礎知識を解説します。 BGP はインターネット全域の経路制御に使われているプロトコルで、非常に複雑なルーティン…

Necoはツラくないクラウド基盤を作ってます、という話をしてきました

こんにちは、Neco チームの@dulltzです。 オープンデベロッパーズカンファレンス2018にて「ツラくないクラウド運用環境を作る」という発表をしました。 この発表ではインフラ刷新プロジェクト Neco の取り組みについてお話しました。 インフラ刷新プロジェク…

分散ユーザー管理システム「etcdpasswd」の紹介

こんにちは、アプリ基盤チーム兼Necoプロジェクト所属の [@ueokande][] です。 本日はNecoで開発しているUNIXユーザーの管理ツールである「etcdpasswd」を紹介します。 github.com etcdpasswdは、etcdをバックエンドに持つ分散型のユーザー管理システムです…

分散システムの耐障害性テストの取り組み

こんにちは、Necoチームの池添(@zoetro)です。 サイボウズが提供するクラウドサービスcybozu.comでは、アーキテクチャを刷新すべく「Neco」というプロジェクトを実施しています。 そのプロジェクトでは、サーバのライフサイクルを管理するsabakanや、Kuber…

Go言語向けFailure Injectionツール: gofail

こんにちは、Necoチームの池添(@zoetro)です。 gofailは、etcdの開発チームがつくったFailure Injectionのためのツールです。 Go言語で書かれたプログラム中に故意にエラーを発生させるポイント(failpoint)を埋め込み、任意のタイミングでプログラムの挙動…

Necoのネットワーク - アーキテクチャと設計編

こんにちは。「Neco」の @ueokande です。 サイボウズでは、cybozu.comのアーキテクチャ刷新プロジェクト「Neco」を実施してます。 その思いについては以下の記事からどうぞ。 アーキテクチャ刷新プロジェクト「Neco」の紹介 運用本部長を退任して Neco プロ…

CoreOS Container Linuxにおいてリアルタイムプロセスを実行できない問題

はじめに こんにちは、技術顧問の武内です。 本記事はサイボウズの次期インフラ開発チーム(Necoチーム)が遭遇した、CoreOS Container Linux (以降 CoreOS)においてリアルタイムプロセスを実行できないという問題について、次のようなことを記載したものです…