Kubernetesでアプリの安定稼働と高頻度のアップデートを両立するためのプラクティス / Best Practices for Applications on Kubernetes�to Achieve Both Frequent Updates and Stability
これまでもコンテナ関連の記事はそれなりに書いてきましたが、改めて最新事情に合わせて練り直したり見渡してみると、大きなところから小さなところまで選択肢が多すぎると感じました。 コンテナ系アーキテクチャを丸っと他所の構成で真似することって、おそらくほとんどなくて、参考にしつつ自分流に築き上げていくでしょうから、今回は築くにあたってどういう選択肢があるのかにフォーカスした変化系で攻めてみようと思った次第です:-) 目次 今年一発目の長いやつです。半分は学習教材用、半分は道楽なテイストです。 はじめに 基盤 インスタンス or コンテナ ECS or EKS on EC2 or FARGATE X86 or ARM64 ロードバランサー メンテナンス:ALB or ECS Service 共有 or 1環境毎 アクセスログ:ALB or WEBサーバー ECS / EKS デプロイ:Blue/Gr
こんにちは、LINEヤフー株式会社でSREとして働いている岩山です。 今回は出向先の出前館で進めているマルチテナンシーのKubernetes(k8s)クラスタとサービス間通信の認可について、その構築作業の中で得られた知見を紹介します。 いくつか導入したツールの紹介を同じチームの出向組メンバーである岡田・望月・岩山の3名でお送りします。 k8sのマルチテナンシーとは マルチテナンシーとは「テナント」と呼ばれる複数のチームなどの単位で k8s クラスタを共有することです。 参考: https://kubernetes.io/docs/concepts/security/multi-tenancy/ 出前館では数百名の開発者が20個前後のチームを構成し、アプリケーションの開発を行っています。それぞれのチームは複数のコンポーネントを持ち、全体としてマイクロサービスアーキテクチャが構成されています。
こんにちは。データ基盤グループ データエンジニアリングチームの宮口です。 この記事ではGoogle Cloud Platform(以下、GCP)のサービスの1つであるGoogle Kubernetes Engine(以下、GKE)のクラスタを手動アップグレードした話を紹介します。 私が所属するデータエンジニアリングチームでは、社内システムに保存されたデータをGCPのBigQueryにニアリアルタイムで同期するシステムや、BigQueryに保存されている大容量のデータを低レイテンシなAPIとして提供するシステムなど、モノタロウのビジネスを裏側で支えるシステムの管理を行っています。それらのシステムは全てのコンポーネントをコンテナ化しており、その実行環境としてGKEを採用しています。 また、それとは別に社内でGKE共通環境と呼んでいる、マルチテナント方式のクラスタによるアプリケーション実行基盤を
こんにちは、研究開発部 Architectグループの辻田です。今回はKubernetesアプリケーション基盤にArgo Rolloutsを導入し、カナリアリリースからメトリクスの自動解析、ロールバックの自動化を実現したので紹介していきたいと思います。 Kubernetes導入の経緯や導入後の取り組みについては以下の記事で紹介しています。 buildersbox.corp-sansan.com buildersbox.corp-sansan.com なお、本記事は【R&D DevOps通信】という連載記事のひとつです。 Argo Rolloutsについて 概要 RolloutsはKubernetes上でデプロイメントの管理と自動化を行うためのツールです。CI/CDパイプラインの自動化、ネイティブなKubernetesのリソースのデプロイメント戦略、プログレッシブデリバリなどの目的に使用されま
はじめに こんにちは。計測プラットフォーム開発本部SREブロックの纐纈です。今年の4月に入社し、ZOZOMATやZOZOGLASSの運用改善に取り組んでいます。また、今年の夏US向けにZOZOFITをリリースしましたが、そちらの機能追加にも今後関わっていく予定です。 計測システムでは最近Argo Rolloutsを導入してカナリアリリース、自動ロールバックを実現しました。本記事では、その具体的な導入方法と効果についてお伝えします。 目次 はじめに 目次 Argo Rollouts導入前のリリースの問題 カナリアリリースの導入 導入後の効果 ツールの選定 Argo Rolloutsについて DeploymentからRolloutへの移行 1. 既存のDeploymentを参照するRolloutリソースを作成して、Podを立ち上げる 2. HPAの対象をDeploymentからRolloutに
こんにちは。インフラエンジニアの gumamon です! 最近はSRE的なことも ちょこちょこ やらせて頂いています。 NewRelic、Datadog、モダンな監視(オブザーバビリティ)って良いですよね。 弊社もKubernetes(k8s)等を利用した環境が増えてきた折、そろそろ必要になってきた(と思っている)のですが、NewRelic、Datadog等のクラウドサービスはランニングコストが安くない。 そこで内製できないかやってみよう!ということになり、試行錯誤をした結果どうにか表題の構成で作ることができたのでご紹介をしたいと思います! この記事では、k8sを観測対象とし、オブザーバビリティを実現した際のアーキテクチャ構成、並びに四苦八苦する中で得た観測の勘所(私見)についてご紹介します。 目次 目次 オブザーバビリティとは オブザーバビリティ(OSS)の実現事例 全体構成 Elast
Kubernetes Novice Tokyo #27 で発表した資料です。 https://k8s-novice-jp.connpass.com/event/293144/ 発表のライブ配信はこちら。 TODO スライドで紹介した参考リンク集: https://bells17.medium.com/things-you-should-know-about-reading-kubernetes-codes-933b0ee6181d https://www.amazon.co.jp/dp/4297104385/ https://www.amazon.co.jp/dp/4297118378/ https://go.dev/tour/welcome/1 https://gopherdojo.org/studyroom/ https://www.amazon.co.jp/dp/4621300253
Raspberry Piを買っておうちKubernetesクラスタを作る おうちKubernetesにSealedSecretsを入れる Raspberry Piの固定IP割当をルーターから指定する おうちKubernetesのcontrolplaneを3台に増やす おうちKubernetesにLonghornを入れる <- イマココ Nodeとなるマシンを一つ増やした. ChuwiのLarkBox X2023.N100のCPUがほしいなーと思っていたんだけど,N100のMiniPCでDDR5メモリで500GB程度のSSDがあるものを探したら,これに落ち着いた. メモリが12GBと,8GBでも16GBでもないのだけれど,まぁnodeに使うだけだし特に気にせず買った. これでAmazonのクーポン使って24900円.安い. www.chuwi.com で,そろそろ真面目に使えるようなクラスタ
Cloud Native Computing Foundationは、仮想マシンをKubernetesで管理可能にする「KubeVirt」がバージョン1.0に到達したことを発表しました。 Kubernetesは起動中の多数のコンテナを管理し、ワークロードを割り当てるなど、コンテナベースのオーケストレーションツールとして開発されました。 KubeVirtはそのKubernetesにおいて、コンテナと同じように仮想マシンを管理可能にするソフトウェアです。 QEMUとlibvirtで仮想化レイヤをコンテナ化 具体的には、QEMUとlibvirtが用いられた仮想化レイヤをKubernetesで扱わせることが可能になります。 これにより例えばデータベースのようなコンテナよりも仮想マシン上で実行することが望ましいと考えられるアプリケーションを、仮想マシンのままでKubernetesを用いて管理可能です
#cndjp 第16回勉強会での発表資料です。 ・アジェンダ Kubernetesのネットワークには様々な登場人物があり一見すると複雑に思われがちですが、それぞれの役割と関係性を把握すれば決して難解なものではありません。 最後のセッションでは、そんなKubernetesのネットワークの仕組みを、丁寧に整理しながら紐解いていきたいと思います。 膨大なコンテナ群の通信を支える洗練されたアーキテクチャを、一緒に理解していきましょう。
ラックについて 今回買ったラックは、なぜかネジを締めるとWIFIが繋がらなくなる事象が発生した。多分金属製だからと思われる。 面白いことに、手をラックの近くに置くとWIFIがつながる。(繋がらない場合もある) すべてのラズパイがWIFI接続というわけではなくmasterのみなのであんまり影響がないが、本事象は完全に想定外だったのでラック選びは要注意。 ラックの組み立て 説明書あったが、ネジの種類のラベルが貼っていなくて全然分からなかった。 ので、公式が動画を出しているのでこちらを参考に組み立てた。 なぜかネジが足りなかったり余ったりしているが、ガタガタしていないので一旦気にしない。 OSをSSDにインストール OSは「Ubuntu Server 22.04.2 LTS(64bit)」を使う。 歯車のところからWIFIやssh、キーボードレイアウトなど設定をよしなにやる。 Mac側の接続
副業?(ボランティア、無報酬)の大学関連の仕事で、オンプレの環境からAWSへ引っ越す必要がでてきた。まぁ、女子大生(少なからず男子もいる)に触らせるのであまり凝ったことはしないから大したことはないのだが。 ちょっとお遊びでEC2のインスタンスにk3sを入れてみた。多分普通に入るのだが、少しハードルを上げてみた。 要件 AMD64ではなく、ARMにする。(大学のご予算の関係) CSIドライバを使いたい。 という条件をつけてみた。 K3sなので、Ubuntu 20.04 ARMをa1.mediumで立ててみた。すごく安い。アーキテクチャーにこだわらないならこれからはARM一択ですね。 動作させた環境はこんな感じだった。 cat /proc/cpuinfo processor : 0 BogoMIPS : 166.66 Features : fp asimd evtstrm aes pmull
ただ、サーチリストがこうなっているのは利便性のためだけではなく、もっと切実な理由があります。 サーチリストとndots DNSの一般的な名前解決のルールとして、こんな風に覚えている方もいるかもしれません。 名前にピリオドが含まれていたら、FQDNとみなしてサーチリストを参照せずに名前解決を行う 名前にピリオドが含まれていなければ、サーチリストのドメインを末尾に連結して名前解決する 例えば、こんな具合です。 $ ping myhost # ピリオドが含まれていないため、myhost.example.comが名前解決される PING myhost.example.com (192.168.0.1) 56(84) バイトのデータ 64 バイト応答 送信元 myhost.example.com (192.168.0.1): icmp_seq=1 ttl=57 時間=12.4ミリ秒 $ ping w
アソビューでSREを担当している鈴木です。アソビューでは、先日、当社のサービスに利用しているEKSを最新版の1.24までバージョンアップしました。今回は、ここでいくつか問題が発生したので、発生した問題とどう対応したかという話を書きたいと思います。 はじめに バージョンアップの流れ Datadog Agentの最新化 問題の対応方法1(JMX を使用したオートディスカバリー) 問題の対応方法1(Unix ドメインソケット上の DogStatsD) 評価環境の更新 cluster-autoscalerが起動しなくなる問題の発生 fluentdでログが送信されなくなる問題の発生 本番環境の更新 まとめ はじめに EKS1.24では、Dockershimの依存の排除という内部的には大きな変更が入りました。アプリケーションのレイヤにおいては、ほぼ影響はなかったのですが、インフラの立場においては、想像
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く