Kubernetesが導入される企業が徐々に増える中で、「これまでインフラレイヤに触ったことがないのにKubernetesを触る必要が出てきた」という開発者の方もいるのではないかと思います。そういった方にむけて「Kubernetesとはなにか」からはじまり、Kubernetesに乗せたアプリケーションが動かなくなって困ったときのトラブルシューティング方法を紹介するスライドです。 残念ながら資料内で動画を再生することができないためターミナル画面の画像のみになっているスライドがあります。
Kubernetesが導入される企業が徐々に増える中で、「これまでインフラレイヤに触ったことがないのにKubernetesを触る必要が出てきた」という開発者の方もいるのではないかと思います。そういった方にむけて「Kubernetesとはなにか」からはじまり、Kubernetesに乗せたアプリケーションが動かなくなって困ったときのトラブルシューティング方法を紹介するスライドです。 残念ながら資料内で動画を再生することができないためターミナル画面の画像のみになっているスライドがあります。
ソフトウェアエンジニアとして働き始めて 20 年以上になります。 元々ソフトウェアでいろいろ作りたくて就いた職業なので、結構な数のプロダクトを開発してきました。 私がメインで開発したもので OSS として出ているものでは、 yrmcds: memcached クローンで、レプリケーション機能などを持つ usocksd: SOCKS4/5 サーバー & ライブラリ transocks: アプリのネットワーク通信を透過的に SOCKS サーバーにプロキシする透過プロキシ coil v2: Kubernetes の CNI ネットワークドライバ moco: MySQL を自動運用する Kubernetes オペレーター accurate: Kubernetes 上で namespace ベースのソフトマルチテナンシーを実現するためのソフトウェア などがあります。これらのソフトウェアの多くは、現役
こんにちは、技術部プラットフォームグループのそめやポチです。最近はpng形式の画像をjpeg形式に変換する仕事をしています。 この記事では、私が社内のKubernetesクラスタのお世話をしているときに出会ったトラブルとその解決方法、またトラブルが起こった原因について説明します。トラブルの原因についてはKubernetes, Nginx, Linuxの3つのプロダクトについて、コードリーディングをしながら解説します。 直面した事象 急にKubernetesクラスタ内のNginxコンテナが起動しなくなりました。 GMOペパボが提供しているサービスの一つであるminneでは、検証用のKubernetesクラスタを利用しています。本番環境で使用しているKubernetesクラスタを模倣した、開発・検証のための環境です。そのクラスタ内でトラブルが起きていました。 トラブルの説明をするために、まずこ
#cndjp 第16回勉強会での発表資料です。 ・アジェンダ Kubernetesのネットワークには様々な登場人物があり一見すると複雑に思われがちですが、それぞれの役割と関係性を把握すれば決して難解なものではありません。 最後のセッションでは、そんなKubernetesのネットワークの仕組みを、丁寧に整理しながら紐解いていきたいと思います。 膨大なコンテナ群の通信を支える洗練されたアーキテクチャを、一緒に理解していきましょう。
本文の内容は、2023年3月16に JASON UMIKER が投稿したブログ(https://sysdig.com/blog/kubernetes-cpu-requests-limits-autoscaling)を元に日本語に翻訳・再構成した内容となっております。 以前のブログ記事で、Kubernetesのリミットとリクエストの基本について説明しました:これらは、クラウド環境のリソースを管理するために重要な役割を果たします。 このシリーズの別の記事では、クラスターに影響を与える可能性のあるOOMとCPUスロットリングについて説明しました。 しかし、全体として、リミットとリクエストはCPU管理のための銀の弾丸ではなく、他の選択肢の方が良い場合があります。 このブログポストでは、次のことを学びます: CPUリクエストの仕組みCPUリミットの仕組みプログラミング言語別の現在の状況リミットが最適
ただ、サーチリストがこうなっているのは利便性のためだけではなく、もっと切実な理由があります。 サーチリストと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
背景 最近、「コンテナはもうわかってきたので、これからKubernetesについて腰を据えて勉強したいが、どのように勉強すればいいかわからない」という相談をいただくことがすごく多くなった。 必要に応じて必要なリソースの挙動などを調べてきたし、僕自身も知らないことばかりなので、全てを伝えることはできない。 とはいえ、「入門しにくいサービスが伸びにくい」というのは、間違いないので、Kubernetesに入門する上でこの順番で学習したら、基本的な内容を身につけられるのではないかというロードマップを一つ公開しておくことで、これから業務でKubernetesを理解していく必要がある方の最初の一歩を助けられるかもしれないと思い、公開する事とした。(このQiitaのリンクを渡すだけで質問に回答できるという状態を作りたいという観点もある。) 自分の今の、Kubernetesに対する理解をうまく表現できてい
サービスメッシュは、マイクロサービスアーキテクチャの様々な問題点や課題を解決します。Kubernetes クラスターへの導入もそこまで複雑ではなく、サービスメッシュから得られるメリットは計り知れません。 カナダ・バンクーバーオフィスの山口です。 Kubernetes でマイクロサービスのアプリケーション開発をしていると、一度はサービスメッシュという言葉を聞いたことがあるのではないでしょうか。 マイクロサービス間の通信制御において、サービスメッシュは非常に強力な武器となります。しかし、Kubernetes クラスターへサービスメッシュを導入するのは多少敷居が高く、躊躇している方も多いかと思います。 今回はサービスメッシュの概要についてご説明します。そして次回以降で、EKS クラスター上で Istio や App Mesh といった主要なサービスメッシュの導入方法についてお伝えしていきます。
Kubesharkとは 図は公式 より抜粋 KubesharkはKubernetesのための観測性・監視ツールで、マイクロサービスの動的解析、異常の検出などを実現するツールです。 Wireshark、BPF Compiler Collection(BCC)ツールなどを組み合わせた、Kubernetesを意識したものとお考えください...と説明されています。 Kubesharkは、クラスタ内の一部またはすべてのTCPトラフィックをスニッフィングし、PCAPファイルに記録し、HTTP1.0, HTTP1.1, HTTP2, AMQP, Apache Kafka, Redisなどのアプリケーション層プロトコルを分析できるとのことです。 今回はHTTPに絞って実際に環境を動かしてみて、トラフィックを覗いてみたいと思います。 Kuberentesクラスターの用意 まず、Kuberentesクラスター
はじめに こんにちは、SRE部ECプラットフォーム基盤SREブロックの織田です。普段は主にZOZOTOWNのリプレイスやインフラを改善、運用しています。 本記事では、Secret管理コンポーネントであるKubernetes External Secrets(以降、KESと表記)の非推奨を受けて、どのような対応を実施したのか紹介します。 目次 はじめに 目次 なぜSecret管理コンポーネントを利用するのか? Kubernetes External Secrets(KES)について KESとは? KESを使ったKubernetes構成 KESの非推奨について 移行先の選定 優先事項の決定 移行先の検討、比較 移行先の決定 External Secrets Operator(ESO)について ESOのアーキテクチャ 移行における注意点や変更点 移行の実施 移行方法 工夫したポイント 最後に な
はじめに こんにちは。ブランドソリューション開発本部 バックエンド部 SREの笹沢(@sasamuku)です。 ZOZOではショップスタッフの販売サポートツール「FAANS」を2022年8月に正式リリースしました。FAANSはアパレルのショップスタッフ様を支援する様々な機能を提供しています。例えば、ZOZOTOWN上で実店舗の在庫取り置きができる機能や、コーディネート投稿の機能などがあります。投稿されたコーディネートはZOZOTOWNやWEAR、Yahoo!ショッピングに連携が可能で、今後はブランド様のECサイトとも連携できる予定です。これによりお客様のコーディネート選びをサポートし購買体験をより充実したものにします。機能の詳細に関しましては下記プレスリリースをご覧ください。 corp.zozo.com 今回はFAANSで採用しているワークフローエンジン「Argo Workflows」につ
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
はじめに 今回は、NearMeにおけるCIの仕組みについて説明します。 CIとは、Continuous Integration(継続的インテグレーション)の略で、 コード変更の度にビルドとテストを自動で実行するプラクティスを指します(参考)。 NearMeではCIを実現する方法として、Kubernetes(k8s)上に動作するArgoを利用しました。 k8sはコンテナ化されたアプリケーションを管理するためのオープンソースのシステムです。 Argoはk8s上でCIやCD(Continuous delivery)を実現するツール群です。 一般に、CI構築では外部サービスを利用することも多いですが、 他システムの障害や料金に依存せずCIを管理したかったのと、 既にk8sを中心にシステムを構築していたので、 多少の煩雑さはありつつも自前で構築しました。 システム構成 CIシステムはイベントの処理を
はじめに 本記事では、筆者や筆者の同僚がKubernetes関連の開発をしているときによく利用しているツールを紹介します。 主にKubernetes上で動くプログラムをGoで書いたり、マニフェストのYAMLを書いたりするエンジニアが対象となります。 本記事の内容は極力環境依存を減らし、Linux, WSL2, Macなどの環境で利用可能となっています。 WSL2(Ubuntu 20.04)、およびM1 Macで動作確認していますが、環境によって多少の違いが生じることもあるのでご了承ください。 基本となるツール make & brew 本記事ではmakeコマンドを利用します。 Ubuntuの場合は以下のコマンドでインストールをおこなってください。 Macの場合は、以下のページを参考にHomebrewとCommand line tools for Xcodeをインストールしてください。 Doc
インフラ初心者がいきなり実務でKubernetesを使うことになったので、その学習記録✎ 流れとしては、 概念的なところを抑える 実際に手元で動かしてみる です! また、すでにKubernetesについて書かれたわかりやすい記事がたくさんあるので、本記事はそれらをもとに自分の理解をまとめたものになります。 概念的なこと まずはこれで概要把握 まずは👇を読もう。(ありがたやありがたや...) 僕らは何故Kubernetesを使うのか Kubernetesというものが出てきた背景を、オンプレの時代からどういうふうに変わっていったかわかる KUbernetesの概要がわかる メリデメがわかる Argo CDの例などを用いてどういうふうに使われているのかイメージが付く Kubernetesとは ざっくりいうと、 サービスをコンテナ上で動かすようになったことで起こった、 複数のサーバ上で複数のコン
MySQLの運用をコードで定義し大幅に自動化する「MySQL Operator for Kubernetes」がオープンソースで公開[PR] Kubernetesのようなコンテナ環境では、MySQLデータベースのようなステートフルで高い安定性が求められるソフトウェアを運用することは難しいと、以前は考えられていました。 しかし現在ではステートフルセットのような機能もKubernetesは搭載し、実装も安定してきていることから、ステートフルなアプリケーションをKubernetesで実行できる状況が十分に揃ってきました。 それだけではありません。Kubernetesには運用自動化を支える「Operator」と呼ばれる拡張機能が登場しました。これを用いると、Kubernetes上でさまざまなアプリケーションでの運用作業の多くが人手を介することなく自動的に行えるようになります。 そしてこのOpera
クラウド上でゲームを動かす場合、データ(ゲーム本体のデータ・セーブデータ)をどう管理するかは重要な課題のひとつだ。 そこで、自分が開発に携わっているOOParts のデータ管理を支える技術について紹介する。 ノベルゲームのセーブ事情 OOPartsで提供されているのは主にビジュアルノベルゲームで、セーブデータの形式や場所は実に多種多様である。 ゲーム本体と同じディレクトリにセーブデータを保存するゲームもあれば、ユーザーディレクトリ(マイドキュメント等)以下に保存するゲームもある。 とにかく様々な保存方式があるため複数メーカーのゲームを提供するとなると セーブデータの場所を機械的に特定できない。 唯一言えるのはほとんどのゲームはセーブデータをファイルに保存しているということぐらいだ。 ゲームタイトル毎に設定を持ち、「ゲームAのセーブデータは〇〇で、ゲームBのセーブデータは〇〇で…」とすれば不
Beatrust で SRE をやっている Yuta(中川 裕太)です.運用がラクにできように色々と改善したり,セキュリティ向上したり,インフラ作ったり API 開発したりしています. 今回のブログでは,Google App Engine (GAE) から Google Kubernetes Engine (GKE) Autopliot へ移行し半年間運用してみて感じたメリットやハマりポイントについて紹介します. モチベーション Beatrust では初期立ち上げの開発コストを下げるため,もともと GAE を用いて開発運用してきました.様々なお客様にご利用いただく中で,嬉しいことに今後 10 倍,100 倍のユーザ数成長が見込めるようになってきました.そういった状況下で以下のような GAE の課題も顕在化しており,インフラの抜本的見直しを実施する必要がありました. GAE では Auto
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く