DMMプラットフォームはエンジニアが120名以上所属する開発組織であり、4年前からプラットフォームエンジニアリングに取り組んでいます。 4年間の成功体験とその裏に佇む課題についてお話ししました。 Platform Engineering Kaigi 2024 で使用したスライドです。 ht…
![Platform Engineeringの功罪 in DMM](https://cdn-ak-scissors.b.st-hatena.com/image/square/ff0c9f22f3269322fe39169729d5dc130be3ce1c/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ffa6a36b5185c43a7b05d2b8973557abf%2Fslide_0.jpg%3F30949839)
サービスプラットフォームチームで SRE を担当している id:masayosu です。 先月からですが Hatena Developer Blog にて SRE 連載を始めました。先月の記事は はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog です。 毎月はてなの SRE が交代でブログ記事を書きますのでお楽しみに。 この記事は2024年2月の SRE 連載の記事です。 はてなの EKS 利用について 私が所属するサービスプラットフォームチームでは EKS の運用を続けており、先日 Kubernetes 1.23 から 1.28 へのアップグレードを完了しました。 私のチームは少人数で形成されているのですが、担当しているサービスは大小様々あり EKS クラスター上では数十個のサービスが稼働しています。 少
Kubesharkとは 図は公式 より抜粋 KubesharkはKubernetesのための観測性・監視ツールで、マイクロサービスの動的解析、異常の検出などを実現するツールです。 Wireshark、BPF Compiler Collection(BCC)ツールなどを組み合わせた、Kubernetesを意識したものとお考えください...と説明されています。 Kubesharkは、クラスタ内の一部またはすべてのTCPトラフィックをスニッフィングし、PCAPファイルに記録し、HTTP1.0, HTTP1.1, HTTP2, AMQP, Apache Kafka, Redisなどのアプリケーション層プロトコルを分析できるとのことです。 今回はHTTPに絞って実際に環境を動かしてみて、トラフィックを覗いてみたいと思います。 Kuberentesクラスターの用意 まず、Kuberentesクラスター
Google が開発したコンテナ管理システムです。 「クバネティス」「クバネテス」「クーべネティス」などと読まれます。 ギリシャ語で「船長」の意味を持ちます。 Kubernetes のスペルが K と s の間に8文字あることから k8s と表記されることがあります。 Kubernetes を簡略化した k3s というものもあります。 Docker や Podman などに対応しています。 コンテナを Pod と呼ばれる単位で複数のノードに配布して実行管理します。 クライアントからのアクセスを適切にノード上の Pod に転送する仕組みを備えています。 コンテナやノードがダウンしても代わりに他のノードでコンテナを起動してくれます。 サービスを停止することなく、コンテナをローリングアップデートしたりアップデートを中断してロールバックすることができます。 Kubernetes の構築には通常1台
インフラ初心者がいきなり実務でKubernetesを使うことになったので、その学習記録✎ 流れとしては、 概念的なところを抑える 実際に手元で動かしてみる です! また、すでにKubernetesについて書かれたわかりやすい記事がたくさんあるので、本記事はそれらをもとに自分の理解をまとめたものになります。 概念的なこと まずはこれで概要把握 まずは👇を読もう。(ありがたやありがたや...) 僕らは何故Kubernetesを使うのか Kubernetesというものが出てきた背景を、オンプレの時代からどういうふうに変わっていったかわかる KUbernetesの概要がわかる メリデメがわかる Argo CDの例などを用いてどういうふうに使われているのかイメージが付く Kubernetesとは ざっくりいうと、 サービスをコンテナ上で動かすようになったことで起こった、 複数のサーバ上で複数のコン
となっています。 構成図 クラスタを構成するものを図にすると以下のようになります。 この中の一部コンポーネントは次節以降で登場します。 Kubernetes基盤 クラスタの基盤部分についてどのような構成になっているのか説明します。 kubeadm クラスタの構築自体については kubeadm を利用しています。 kubeadm を利用したクラスタの構築方法については公式のドキュメントが参考になります。 Static Pod と systemd kubeadm でデプロイすると kube-apiserver 等は Static Pod で、kubelet は systemd 以下で動作するようになります。 kube-apiserver は意外にメモリを食ってしまうのでそのまま動作させているとメモリ不足になることがあります。(ありました) なので kube-apiserver と etcd の
プラットフォームチームでSREをしている id:masayosu です。 プラットフォームチームでは、はてなのサービスの基盤となるサービスを開発・運用しています。 さらに、はてラボ(はてなアンテナ、はてな匿名ダイアリーなど)も担当しています。 これらはAmazon EKS(Elastic Kubernetes Service)というマネージドコンテナサービス上で、マルチテナントなクラスタとして運用されています。 EKSは2年前から運用を始め、現在は30近いサービスがクラスタ上で動作しています。 この記事ではEKS周辺の構成と、EKSを維持する運用について紹介します。 EKSクラスタの全体構成 EKS全体の構成は、以下の図のようになっています。 図の登場人物について簡単に説明します。 AWS EKS AWSのAmazon EKSは、マネージドなKubernetesサービスです。 Kubern
CloudNative Days Tokyo 2021の発表資料です。 https://event.cloudnativedays.jp/cndt2021/talks/1207 補足資料 https://git.io/operator-bestpractice
Amazon Web Services ブログ Amazon EKS での Kubernetes アップグレードの計画 この記事は Planning Kubernetes Upgrades with Amazon EKS (記事公開日: 2021 年 5 月 3 日) を翻訳したものです。 2021 年 2 月、Amazon Elastic Kubernetes Service (Amazon EKS) は Kubernetes バージョン 1.19 のサポートを開始しました。これは、What’s New の投稿や Amazon EKS ドキュメントの更新など、通常のメカニズムを通じて発表されました。社内やお客様とのいくつかの会話の結果、AWS は Amazon EKS の Kubernetes バージョンリリースに合わせて、AWS Containers ブログ記事の投稿を行うことにしまし
社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 筆者がIIJでパブリッククラウドビジネスを率いていた2010〜2015年頃、今後のITインフラはしばらくIaaSを中心に回っていくのだと考えていたものですが、Docker, Kubernetesという爆弾が投下されました。10年、20年は続くと思われたIaaSの時代がまさか早々に色あせて見えるとは。相変わらずIT業界にも思いもよらないことが突然起こるものです。これだからIT業界はおもしろい。 本連載は、現在IIJでSREを率いている筆者がどのようにしてSREチームを立ち上げ、Kubernetes沼へ飛び込み、悪戦苦闘し
ゼロから始めるKubernetes Controller / Under the Kubernetes Controller
社内でKubernetesハンズオンをやってみたのでおすそ分け。 参加者6人からバンバン出てくる質問に答えながらやって、所要時間4時間ほどでした。 SpeakerDeckにも資料を上げています。 https://speakerdeck.com/ktam1219/yaruze-kuberneteshanzuon (2019/07/11追記) 続編書きました! -> 今度はあんまりゴツくない!?「わりとゴツいKubernetesハンズオン」そのあとに ハンズオンの目標 Kubernetesとお友達になる イメージを掴む 触ってみる(ローカル・EKS・ちょっとGKE) 構築・運用ができるような気分になる 巷にあふれるKubernetesの記事・スライドが理解できるようになる EKSがメインになっているのは、会社の業務でAWSを使うことが多いからです。 純粋にKubernetesを勉強したいだけな
Amazon Web Services ブログ Docker on AWS: AWSのコンテナ関連サービスの選定例の紹介 本記事ではこれからAWS上でDockerコンテナを活用される方向けに、AWSのコンテナ関連サービスのどれを選択すると良いかの一例を紹介します。前提としては、example.com社の技術者Aさんが、自社のWebサービスをAWS上で構築するにあたって構成を決めるために、AWSのソリューションアーキテクト(SA)に相談するという流れの記事になります。AWSのどのサービスを使うかのご参考に是非ご覧ください。※こちらの選定はあくまで一例です。要件によっては選択すべきAWSのサービスが異なる点、予めご了承ください。 Dockerコンテナの基礎については以下をご覧ください。 https://aws.amazon.com/jp/docker/ AWS Black Belt Onlin
neco_skills.md Neco プロジェクトのスキルチェックシート Neco は大量の物理サーバーを効率的に管理・運用することを目的とした開発プロジェクトです。 Kubernetes を中心に高度な自律運用の実現を目指しています。 本文書はプロジェクトに参加しているメンバーが身に着けている要素技術を並べたものです。 応募時点ですべてを身に着けている必要はまったくありません。 社内にはチュートリアル資料が多数用意されていますので、必要に応じて学べます。 リストは以下の大項目で分類されています。 ドキュメント 利用しているサービス プログラミング テスト ネットワーク Kubernetes ドキュメント Neco プロジェクトではドキュメントを非常に重視しています。 仕様書はもちろん、各種ポリシーやチュートリアル、調査資料などあらゆる場面でドキュメントを作成しています。 Markdow
最近勉強を始めたコンテナ技術に関する基礎的な知識をまとめました。 [訂正と注釈] p.27-30: 「Deployment」内の「Version: 1」 => 「Version: 2」 p.37: 「終了コードをから」 => 「終了コードから」 p.39: 「HTTPSが利用できない」=> AWS上では、SSL終端するLBがサポートされています。https://kubernetes.io/docs/concepts/services-networking/service/#ssl-support-on-aws p.40: 「ユーザがingress controllerをmaster上にセットアップする必要」 => master上にセットアップしなければならないという制約はありません。例えばGCEのingress controller(GLBC)はPodとして動作します。https://gi
Kubernetesの使用感に興味があってaws-workshop-for-kubernetesというのを先週やり、ちょうどEKSがGAになった直後だったのでEKSが試せたのだけど、まあ最初からマネージドだとあまり面白みがないし金もかかるので、個人のVPSで動かしてた奴を全部Kubernetes上で動かすようにしてみている。 まだ本番で運用した知見みたいなのが貯まってるわけではないのだが、公式のドキュメントを中心に読んでいても単に動かし始める段階で結構ハマって時間を消費したので、これから同じようなことをやろうとしている人向けに備忘録を兼ねて使用感や知見をまとめておくことにした。 Kubernetesは今でもalphaやbetaの機能が多く、今後この記事の内容も古くなることが予想されるので、なるべく公式のドキュメントへのリンクを置くのを意識して書いてある。 構成 現時点で、ConoHaで借り
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く