Kubernetes

安全な証明書自動更新のやり方

cybozu.com Cloud Platformチームのhsnとtomoです。今回はサイボウズで証明書更新の自動化を安全に行うための工夫をご紹介します。 背景 サイボウズではcybozu.comのサービスを提供するために数多くの証明書を取得し、管理しています。 今まではそれらをすべ…

Cybozu における次世代障害対応研修の計画と実践

こんにちは!SREチーム兼Manekiチームのhsnとaoi1です。今回サイボウズでの障害対応研修の紹介をします。

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

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

もうリリースは怖くない ― 大きな変更を安全に本番適用するTips

こんにちは、AWS版kintoneのDevOpsエンジニアをしている@ueokandeです。 AWS版kintoneは2019年9月のローンチから現在まで、幾度となく機能改善をしてきました。 ローンチ当時よりも利用者が増え、スケーラビリティのために内部設計を大きく変更することもあ…

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 で感じていた問題点と、それをどのよう…

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

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

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

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

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

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

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

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

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

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

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

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

マージボタン1つで本番適用するための仕組み

こんにちは、Yakumoチーム兼コネクト支援チームの@ueokandeです。 本日はYakumoチームで構築した、デプロイパイプラインとその工夫について紹介します。 Yakumoプロジェクトはグローバル市場向けに、kintone.comをAWSから提供することを目指すプロジェクトで…

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

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

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…

Yakumoのコンテナの脆弱性検知と対応フローの紹介

こんにちは、Yakumoチームの[@ueokande][]です。 好きなAWSサービスはCloudFormationです。 Yakumoプロジェクトは、US市場にKintoneを展開することをゴールとしたプロジェクトで、 その一環としてUS向けのお客様をターゲットにAmazon Web Service (AWS) 上に…

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

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

Yakumoのモニタリングとコンテナ時代のDataDog活用例

こんにちは、Yakumoチームの[@ueokande][]です。 秋といえばモニタリングですよね。 本日はYakumoプロジェクトにおけるモニタリングの取り組みについて紹介します。 YakumoはUS市場にKintoneを展開することをゴールとしたプロジェクトで、その一環として国内…

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

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

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

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

Kubernetesアプリケーションの開発、デバッグを高速化するツール、Telepresenceの紹介

こんにちは、Necoプロジェクトのsatです。 本記事ではKubernetes(以下K8sと記載)アプリケーション(以降アプリと記載)の開発を高速化するツール、Telepresenceを紹介します。 最初に結論を書いておくと、Telepresenceは次のようなツールです。 ローカルで動く…

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

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

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

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