Chatwork Creator's Note

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

読者になる

kubernetes

EKSのノードをGravitonに変えました

SRE部の坂本です。 ChatworkはほぼすべてのアプリケーションをEKSで動かしています。そのEKSのノードは90%以上をSPOTインスタンスで動かしているので、i系インスタンスで動かしている状態でも、規模(日中で150ノード程度)の割には比較的安価に動かせている状…

Kubernetesのアプリケーションログ収集(2)

(1)では、Chatworkのリクエスト数やログの量など、Chatworkのログの背景をお伝えしました。 このブログでは、それらに対応している構成や、その構成になる前の話を記載したいと思います。 再掲ですが、Chatworkでは下記のように各ノードのforwarderとしてflu…

Kubernetesのアプリケーションログ収集(1)

SRE部の坂本です。 みなさま、Kubernetes環境(EKS環境)におけるアプリケーションのログ収集ってどうされていますか? Chatworkでは下記のように各ノードのforwarderとしてfluent-bit、aggregatorとしてfluentdというfluent兄弟を両方使っており、やや珍しい…

EKSの権限管理の方法をConfig MapからAPIに移行する

Chatwork 坂本です。 EKSを運用していて、微妙だな、、と思うのがaws-authという名前のConfig Mapでの権限管理だと思います。 2023年12月についに脱Config Mapが可能な機能がAWSからリリースされ、APIで管理できるようになり、移行を進めつつ、いろいろと整…

2023年度版!Chatwork流Kubernetesの運用方法

こんにちは。SRE部の桝谷@hnchn87です。 この記事は、 Chatworkのカレンダー | Advent Calendar 2023 - Qiita の 9日目です。 2023年12月6日に行われた「耐障害性向上・パフォーマンス改善・運用負荷軽減をどう実現する? 事業を支えるSREのノウハウを共有」…

いろいろなAWSアカウントのArgo CDを統合した話(4)

いろいろなAWSアカウントのArgo CDを統合した話(2) いろいろなAWSアカウントのArgo CDを統合した話(3) で、AWSのクロスアカウントまわりの話と、ApplicationSetの話を記載しましたが、そのほか細々と対応しつつ、無事に移行目前まで来ました。 (4)では移行目…

いろいろなAWSアカウントのArgo CDを統合した話(3)

いろいろなAWSアカウントのArgo CDを統合した話(2)では主にAWSのクロスアカウントに関して記載しましたが、(3)ではApplicationSetへの対応に関して記載したいと思います。

いろいろなAWSアカウントのArgo CDを統合した話(2)

いろいろなAWSアカウントのArgo CDを統合した話(1) - Chatwork Creator's Note では統合することになった背景を簡単に記載しました。 (2),(3)では、統合の際に対応に時間がかかったところを記載していきたいと思います。 (2)では主にAWSのクロスアカウントに…

いろいろなAWSアカウントのArgo CDを統合した話(1)

はじめに ChatworkではArgo CDを利用して、Kubernetes上のアプリケーションのデプロイを行っていますが、もともと複数のAWSアカウントに存在するEKSクラスタにそれぞれ個別にArgo CDを準備して、利用している状態でした。 いろいろと問題があり、2023年6月に…

EKSでNode Local DNS CacheとSecurity groups for podsを一緒に使う

Chatwork SRE部の坂本です。この記事はChatwork Advent Calendar 2022 15日目の記事です。 この記事ではEKSにおいて、Node Local DNS CacheとSecurity groups for podsを一緒に使う方法について記載したいと思います。

EKSのバージョンライフサイクルに組織として対応する

先日行われた Chatwork Dev Day 2021 で、SRE部からは Immutable Clusterに対する定期Version Upgrade戦略 ということで、EKSのアップグレードへの対応について話しました。 www.youtube.com speakerdeck.com ChatworkではSREだけでなく開発チームも含めて、…

Kubernetes 導入における実践プラクティス(仮) The Beginning

こんにちわ。cw-tomita です。最近は「るろうに剣心 最終章 The Beginning」が公開されるのを心待ちにしつつ、これで健の剣心も見納めかという寂しさとが入り混じった複雑な気持ちで日々を過ごしています。 ということで、今回は、映画の公開9日前に開催され…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その5 〜PHPアプリケーションをコンテナ化しよう〜

こんにちは!SRE部のcw-ozakiです。 PHP Conference 2020 Re:bornでPHPでKubernetesを動かすにはどうするべきかという話をしてきました。 speakerdeck.com ただ、25分という短い枠でしたのでKubernetes初心者に向けてということで、だいぶ端折ったのでその5…

What we did to stabilize DNS on Kubernetes cluster

This time, I would like to talk about how I fixed DNS errors on EKS (Chatwork's EKS is operated using a single multi-tenant cluster) Service becomes unstable when the number of pods exceeds a certain number Culprit of conntrack overflow wa…

EKSでDNSを安定させるために対応したこと

今回はEKSでDNSを安定させるために対応した話を書きたいと思います*1。 一定数のPod以上になるとサービスが不安定になる conntrack溢れの犯人はkube-dns(CoreDNS) conntrackのmaxを増やす kube-dnsのautoscale node-local-dnsも入れる node-local-dnsを入れ…

Tools supporting kubernetes cluster in Chatwork (2020 version)

Hello, this is Sakamoto from the SRE Department. I run at least one full marathon every year, but unfortunately, I couldn't make it in 2020. I managed to run under 90 minutes (89 minutes) in the half-marathon held just in February, and I w…

ChatworkのKubernetesを支えるツールたち(2020年版)

こんにちは。SRE部坂本です。毎年最低1回はフルマラソンに出ていますが、2020年はあえなく参加できずに終わりました。 2月にギリギリ行われたハーフマラソンではなんとか90分切り(89分台)を達成し、今年は3時間10分以内を目指してただけに残念ですが、仕方あ…

Chatwork の Scala プロダクトとそれを支えるチーム その壱

これは Chatwork Advent Calendar 2020 / Scala Advent Calendar 2020 10日目 の記事になります。 こんにちは。サーバーサイド開発部の Scala プロダクトを開発運用する部署でマネージャーをしている、 hayasshi です。 Chatwork は Scala を採用すると決め…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 4: Application Migration Tactics Matched to Kubernetes Cluster Update Strategy

Hello! I’m cw-ozaki, and I work in the SRE department. Continuing on from part three, I’d like to consider how to migrate applications to new clusters in line with the Kubernetes cluster update strategy in this installment. creators-note.c…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その4 〜Kubernetesクラスタの更新戦略に合わせたアプリケーションの移行戦術〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com creators-note.chatwork.com creators-note.chatwork.com 今回はその3の続きで、Kubernetesクラスタの更新戦略に合わせてアプリケーションをどのようにして、クラスタを移行していくのか戦術…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 3: Cluster Structuring in Chatwork and Update Strategies

Hello! I’m cw-ozaki from the SRE Group. This is a continuation of the Part 2 article. Assuming that migrating from EC2 to Kubernetes is fine, I will discuss how Chatwork’s Kubernetes clusters are structured and how the updates are strategi…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その3 〜ChatworkにおけるKubernetesクラスタの構成と更新戦略〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com creators-note.chatwork.com 今回はその2の続きで、EC2からKubernetesに移行するのは良いとして、そもそもChatworkのKubernetesクラスタの構成と更新戦略をどうしているのかというベース部分…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 2: The ideas behind our migration strategy

Hello! This is cw-ozaki from the SRE department. This post will be a continuation of Part 1, and I will explain the strategy with which we migrated our system to Kubernetes. creators-note.chatwork.com Our strategy for migrating to Kubernet…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その2 〜移行戦略について考える〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com 今回はその1の続きとして実際にどのよう戦略を持ってKubernetesに移行したのかを解説します。

Migrating our PHP Legend System from EC2 to Kubernetes, Part 1

Why did Chatwork migrate from EC2 to Kubernetes? Issue 1: Deployment becomes unstable when the EC2 instance exceeds about 40 machines Issue 2: A rollback cannot be performed depending on the deployment status Kubernetes as a solution Kuber…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その1

こんにちは!SRE部のcw-ozakiです。 長らく携わっていたPHPのレジェントシステムをEC2からKubernetesに移行する作業がひと段落ついたので、どのようにこの移行を進めて行ったのかご紹介していきます。

Kubernetesをめぐる冒険、の後日譚

Chatwork 坂本です。 本ブログは2020年1月23日に行われた、下記のコンテナ支部での発表を補足する内容で、eksctlの設定ファイルとvariantの具体的な使い方に焦点を当てて書きたいと思います。 jawsug-container.connpass.com speakerdeck.com 目次 eksctlの…

Prometheus形式で公開されたmetricsを、Datadog Prometheus Checkを利用して取得する

SRE部のcw-sakamotoです。 nginx-ingress on AWS で gRPC をロードバランスさせる検証 - ChatWork Creator's Noteにおいて、少しだけ言及しました、Datadog Prometheus Checkに関する内容です。 Kubernetesの監視と言えば、Prometheusのイメージが強い?です…

nginx-ingress on AWS で gRPC をロードバランスさせる検証

SRE部のcw-sakamotoです。 この記事では、nginx-ingressをk8s on AWSで動かして、さらにbackendにはgRPC serverを立てて、ロードバランスできるかどうかの検証を行いたいと思います。 アジェンダ 背景 環境 gRPC serverの起動 gRPCの各リソースの作成 grpcur…