Neco

大規模Kubernetesクラスタにおけるコンテナレジストリの高速化

こんにちは。サマーインターンシップ2023のKubernetes基盤開発コースに参加した、高橋 (TAK848) と花田 (hanapedia) です。 Necoチーム では現在コンテナレジストリの可用性を高めるため、コンテナレジストリミラーをクラスタ内にデプロイしています。 しか…

サイボウズサマーインターン2022 報告 〜 Kubernetes基盤開発コース&ストレージコース

こんにちは、Necoチームの鎌田、阪上、そしてストレージチームの大神、satです。 サイボウズは毎年サマーインターンシップを開催しています。2022年度のサマーインターンシップもさまざまなコースを用意しました。本記事では8月22日~9月2日の10日間にわたっ…

サイボウズサマーインターン2021 報告 〜 Kubernetes基盤開発コース

こんにちは、Necoチームの鈴木、石井、そしてストレージチームのsatです。 サイボウズは毎年サマーインターンシップを開催しています。去年に続き、今年もCOVID-19の影響でフルリモート開催でした。 インターンには様々なコースがありますが、本記事ではその…

Neco プロジェクト完了したので人材募集します!

Neco プロジェクト責任者の ymmt です。 Neco プロジェクトは、2018年に開始したサイボウズのクラウドサービス基盤を刷新するプロジェクトです。 三年半の期間を経て、この度プロジェクトの目標をすべて達成できました。 そこで今回は社内で完了報告をした資…

MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア

サイボウズの Kubernetes 基盤を開発している Neco プロジェクトの ymmt です。 サイボウズ製品のほとんどはデータベースとして MySQL を採用しています。 現在 400 を越える MySQL のインスタンスを運用しており、これら全てを新しい Kubernetes 基盤に移行…

KubernetesにおけるownerReferenceの誤用にご用心

はじめに こんにちは、Necoプロジェクト兼ストレージチームのsatです。本記事はKubernetesのガベージコレクションにおけるownerReferenceというフィールドの役割、誤用したときの振る舞い、および問題を防止、検出する方法する方法について述べます。 本記事…

データセンター仮想化ツール Placemat v2の紹介

こんにちは、Necoチームの鈴木です。 Necoチームでは仮想データセンター構築ツールPlacematを使って、データセンターを丸ごと仮想化し、その上でサーバーのプロビジョニングやKubernetesクラスタ構築、Kubernetes上で動作するアプリケーションのTest Suites…

VictoriaMetrics と Grafana による Kubernetes クラスタのモニタリング

こんにちは。 Necoチームの梅澤です。 従前、Neco ではクラスタのモニタリングに Prometheus を利用していましたが、最近これを VictoriaMetrics + VictoriaMetrics operator に変更しました。 本記事では、Prometheus で感じていた問題点と、それをどのよう…

サイボウズの新しいインフラ基盤を支えるストレージの本番適用に向けた取り組み

はじめに こんにちは、Necoプロジェクトのsatです。Necoプロジェクトではサイボウズのクラウドサービスcybozu.comの次期インフラ基盤を開発しています。その根幹となるコンポーネントの一つがお客様のデータをあずかるストレージです。本記事ではNecoのスト…

分散ストレージCephのオーケストレータRookのデータ破壊バグを修正しました

はじめに こんにちは、Necoプロジェクトのsatです。本記事では分散ストレージCephのオーケストレータであり、Kubernetes上で動作するRookに関するものです。このRookに存在していたデータ破壊バグを我々が検出、修正した体験談、およびそこから得られたこと…

コンテナレジストリの可用性を高める取り組み

こんにちは、Necoチームの池添です。 みなさんKubernetes向けのコンテナレジストリにはどこのサービスを利用していますか?そのサービスの調子が悪くて困ったりしたことはありませんか? 今回はコンテナレジストリをKubernetesクラスタ上にセルフホストし、…

Neco の宣言的なサーバー全台再起動の仕組み

こんにちは、Neco チームの 阪上 です。皆さんは Kubernetes クラスタのマシン全台の再起動オペレーションに丸一日かかったことはありますか? 手順を確認して雑談するだけで時間が過ぎて行く…穏やかですが、物足りなさも感じます。 そこで今回は、Kubernetes…

Flaky Testとの戦い

こんにちは。Necoチームの池添です。 最近にわかにFlaky Test界隈が盛り上がりを見せているようです[^1],[^2],[^3]。 この流れに乗じてNecoプロジェクトにおけるFlaky Testとの戦いについて紹介したいと思います。

2022年新卒採用 エキスパートエンジニア職のご紹介

サービス運用部の吉川です。今回はサービス運用部が2022年新卒採用で始めたエキスパートエンジニア職採用について、学生の視点に立ってみて説明が必要だと感じた点をQ&A形式でまとめてみました。クラウド基盤エンジニアとして働くことを検討中の方はエントリ…

Kubernetes 用 CNI プラグイン Coil v2 の紹介

Neco プロジェクトの ymmt です。 サイボウズでは 2018 年から Kubernetes 用のネットワークプラグイン Coil を開発しています。 当時は Kubernetes の知識がチームに蓄積されておらず、いささか使い勝手が悪い仕様でした。 そこで 3 か月ほど前から設計を全…

Rookのメンテナに就任しました: これまでとこれからの取り組み

はじめに こんにちは、Necoプロジェクトのsatです。先週CNCFのgraduatedプロジェクトであるRookのメンテナに就任しました。本記事ではRookがどういうソフトウェアであるかについて軽く触れた後に、何をしてきたことによってメンテナになったのか、今後どうし…

サイボウズサマーインターン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クラスタを構築するために、我々がどのようなポリシーを適用しているのかを紹介したいと思います。