CloudNative Days Tokyo 2020 #CNDT2020_A
Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Java 17: What’s new in OpenJDK's container awareness | Red Hat Developer の翻訳記事です。 OpenJDKは、以前からLinuxコンテナ(DockerやPodman、またKubernetesのようなコンテナオーケストレーションフレームワークなど)を意識してきました。コンテナ対応とは、OpenJDKがコンテナ内で動作していることを検出することを意味します。この記事では、コンテナ対応がなぜ有用なのか、OpenJDKのその領域で最近何が変わったのか、そして、開発者がJVMの設定決定方法について理解を深めるために利用できる診断
こんにちは、プラットフォームエンジニアリング部門コンテナ基盤グループの岡田です。 当社ではECサイトの裏側で利用されているモノリシックなAPIをコンテナ化し、Elastic Kubernetes Service (EKS) に移行しました。 移行直後は下記のようにトラブルに見舞われましたが、現状安定した運用ができています。 EKSコンテナ移行のトラブル事例:推測するな計測せよ -CoreDNS暴走編- - MonotaRO Tech Blog EKSコンテナ移行のトラブル事例:FargateにおけるAZ間通信遅延の解消 - MonotaRO Tech Blog 今回はトラブル事例ではなく活用事例になりますが、アプリケーションリリース起因でのトラブル影響を減らすため、コンテナ化したAPIに対してカナリアリリース導入を行いました。そのため、導入に際して生じたConfigやSecret周りの課題
NGINXを有するF5ネットワークスは2020年10月12日、Kubernetes向けサービスメッシュ「NGINX Service Mesh」を発表しました。Kubernetesのサービスメッシュとして有名なIstioの対抗馬が出現した形になります。 Introducing NGINX Service Mesh - NGINX https://www.nginx.com/blog/introducing-nginx-service-mesh/ 複数の小規模なサービスの連携によってアプリケーションを構築するマイクロサービスは、開発スケジュールの短縮や柔軟な拡張性をもたらしましたが、サービス間の通信やデバッグが複雑になるというデメリットもありました。そうした問題を解決するのがサービスメッシュで、NGINX Service Meshではマイクロサービスにおける以下の課題を解決しているとのこと。
「アクセス制御」ってややこしいですよね。 AWSでもIAMが苦手!って方多そうですが、Kubernetesの世界でもアクセス制御を知っておかないとセキュリティ事故に繋がります。 今回はそれらの合わせ技となる、AWS上でKubernetesを使う際の両プラットフォーム間でのアクセス制御の組み合わせについてのお話です。 AWS上でKubernetesを使う際のセキュリティ課題 EKSを使ってKubernetesワークロードをAWS環境上でホストしてるよ!という方は多いんじゃないかと思います。 特にAWSでKubernetesを使っていると「PodからAWSリソースにアクセスさせたい」という要件が出てきます。 以下のようなプロダクトを例として想像してみましょう。 この例では同じEKSクラスター上でKubernetes Podを2種類がバックエンドアプリケーションとして稼働しています。 Pod①へ
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。ヤフーの子会社であるゼットラボ株式会社の吉田(@ryysud)です。2018年12月よりゼットラボ株式会社でKubernetesをベースとしたインフラ基盤の研究開発を行っており、現在はCloud Nativeなアクセス制御システム(認証、認可)の研究開発を担当しています。 今回は2020年6月13日(土)に開催されたKubeFest Tokyo 2020でのセッション “kubectl のプラグイン機構を活用してオペレーションを効率化しよう”をベースに、Kubernetes制御用コマンドラインツールであるkubectlのプラグイン機構とおすすめプラグインをご紹介します。スライドとビデオは以下で公開されていますのでご興味
インフラエンジニアの菅原です。 最近、バイクに念願のグリップヒーターをつけました。 これでツーリング時の手の寒さが多少楽になりそうで喜んでいます。 とはいってもなかなか出かけられないのですが… 現在私はAWS Fargateを使ったサービスをECS上に構築を進めており、日々コンテナと戯れています。 基本的にストレージ以外のコンポーネントはほとんどECSで動いているのですが、VPCのネットワーク内でちょっとした作業(たとえばネットワークの疎通確認など)をしたい場合、都度新しいタスクを起動して作業しています。 また、DBにテストデータを入れたかったり、どうしてもDBを直接操作したいことがある場合、stoneを新しいタスクを起動した上で、そのタスクを踏み台としてaws ssm start-sessionでポートフォワーディングを行い、手元から直接DBにアクセスできるようにしたりしています。 しか
先日、Linux Foundation傘下のプロジェクト「CNCF(Cloud Native Computing Foundation)」の資格を2つ取得しました。以下に記載する内容がこれから受験される方、または受験を検討される方の参考になれば幸いです。 タイトルにもある下記の資格をそれぞれ英語で受験し、合格しました。 2021/04/17 Certified Kubernetes Administrator (以降CKAと呼ぶ) 2021/04/24 Certified Kubernetes Application Developer (以降CKADと呼ぶ) ここで話すこと なぜ受験したのか 勉強開始前の状態 勉強期間 試験概要 合格までに行った勉強 やっておけばよかったこと 試験のポイント 今後の目標 ここで話さないこと 試験の問題そのものや傾向など(守秘義務(Confidential
Cloud Container DevelopmentBlimp is a drop-in replacement for Docker Compose that enables development in the cloud. Laptop struggling to keep up? It’s time to `blimp up` and get your Docker containers in the cloud. $blimp$blimpupBootingcloudsandboxDeployingDockerComposefiletosandboxmongoPending\mongomongoRunningwebWaitingfordependencies\webWaitingfordependencies|webRunningAllcontainerssuccessfully
はじめに 最近ずっとkubernetesの勉強しているなむゆです。 特にここ4週間くらいはIstioについて重点的に動かしたり資料を読んだりしていたのでその時に学んだ基礎的な点を記事にまとめておきたいと思います。 istioとは Istioとは、高機能なオープンソースのサービスメッシュです。 Kubernetesのようなプラットフォームにインストールして使用され、内部にサービスメッシュを展開します。 現在はKubernetesのほかに、HashiCorpによってつくられたサービスディスカバリーのConsul、または個別の仮想に対応しています。 サービスメッシュとは 「高機能なサービスメッシュ」と書きましたが、ではそのサービスメッシュとは何かというと、マイクロサービスアーキテクチャーのようなサービスを複数展開し、相互に連携して全体の機能を実現しているときにそれらのサービス間のネットワークを仲
Take a deep dive into Kubernetes inner components and discover what really powers a Kubernetes cluster. This in-depth guide shines a light on Kubernetes' murky internals, to help you better plan cloud native architectures and ensure the reliability of your systems. In Core Kubernetes you will learn about: Kubernetes base components Kubernetes networking Storage and the Container Storage Interface
こんにちは。サイバーエージェントの長谷川(@makocchi)です。 「5分でわかる!Kubernetes/CloudNative Topics」連載の第5回は、最近のNewSQL事情について紹介します。 この記事ではNewSQLとは何かについて説明した後、NewSQLソフトウェアであるTiDB、YugabyteDB、CockroachDBを実際のKubernetes環境で動かす方法について紹介します。 NewSQLとは NewSQLとはNoSQL(Not Only SQL)の拡張性を持ちつつ、データベースソフトウェアでサポートされているACIDトランザクション処理が可能なソフトウェアです。NewSQLというワードの普及を後押ししたのが、Googleが2012年に発表した「Spanner: Google’s Globally-Distributed Database」という論文です。こ
こんにちは、技術本部 プライベートクラウドグループの中西(@whywaita)です。 今回はCA Tech JOBの制度を用いてインターンに参加して頂いた上野さんからの寄稿記事です。 以下本文です。 みなさんはじめまして。 メディア事業部技術本部プライベートクラウドグループで、2ヶ月間のインターン(CA Tech JOB)を行いました上野裕一郎 (https://www.y1r.org) です。普段は東京工業大学で深層学習をスパコンなどの高性能計算技術で加速・大規模化させる研究をしています。 本インターンではSegment Routing、とくにSRv6を用いてKubernetesのPodネットワーキング機能(CNI)を実装しました。本稿では、CNIとSegment Routingについて紹介したのち、その実装と動作を説明します。 Container Network Interface;
この記事は LOCAL学生部アドベントカレンダー2020 12日目の記事です。OB ですが枠が開いているのでしれっと参加します。 ことの始まり いま勤めている会社では内部で利用するために VPS を借りて、そこに Rancher を使って Kubernetes クラスタを建てています。はじめは何の問題もなく Rancher が用意してくれた Nginx Ingress Controller が動作していたのですが、最近 Rancher 2.5 系にアップデートしたあたりから大量にこのようなログが出力されるようになりました。 Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: x.x.x.x y.y.y.y z.z.z.z しかも、Ingres
KEELチームの相原です。 今回はeBPFを利用してKubernetesクラスタの可観測性の隙間を埋めている話です。 前回のエントリではLLMにうつつを抜かしていたので本業(?)の話をしようと思います。 www.lifull.blog LIFULLの可観測性の現在地 eBPFとは 可観測性の隙間 NAT Loopback eBPFを実行するには BPF CO-RE libbpf-rsを利用したNAT Loopbackの検知 1. (ユーザ空間) コマンドライン引数として受け取ったDNSをTTLごとに名前解決してIPアドレスを取得する 2. (ユーザ空間) IPアドレスに変化がある度にカーネル空間で動くBPFプログラムにそのIPアドレスのリストを渡す 3. (カーネル空間) Kprobesで tcp_v4_connect/tcp_v6_connect にフックを仕込む 4. (カーネル空間)
SREチームの須恵です。 今回は、Kubernetesクラスターの運用にまつわるちょっとした工夫について書くことにしました。 要約 何が問題か 今までのやり方 解決策 ここまでで実現できたこと Dependabotで、もうひと工夫 余談 ごあんない 要約 以下のような問題があり、 URLから直接、手動でkubectl applyしたアプリケーションが存在することにより インストールと更新が手動のためクラスターの再現性を低下させる 更新を手動で行う必要がある 誰かが更新に気がつく必要がある それぞれ、以下のアプローチで解決を試みました。 手元からインストールと更新を行うためクラスターの再現性を低下させる シェルスクリプトとDockerfileをバージョン管理する 更新を手動で行う必要がある install-from-url.shを自動的に実行する 誰かが更新に気がつく必要がある Depend
こんにちは。freee の Platform Solution チーム1 に所属している nkgw (Twitter) です。 この記事は freee 基盤チーム Advent Calendar 2023 の 15 日目の記事となります。 普段は、エンジニアリングマネージャーをしつつ、新規プロダクトのリリースサポートとか、プロダクトのキャパシティプランニングやコンピューティングリソース調整などをやってました。 今回、freee のプロダクトにおける health check の標準化について取り組みました。health check の要件と非標準化がもたらす具体的な問題を整理しつつ、freee では実際にはどのように health check を定義したのかを紹介します。 その前に... 詳細な内容の前に、弊社のような複数のプロダクトが相互に依存関係があるような環境下における health
なぜ金融系プロジェクトで先進のコンテナ技術を選択したのか:巨大SIerのコンテナ・Kubernetes活用事例(2)(1/2 ページ) NRIのコンテナ・Kubernetes活用事例について紹介する本連載。第2回はFinTechサービスをクラウドやコンテナで支援した事例を紹介する。 金融系サービスでも顧客体験を改善する迅速さは不可欠 「金融」と聞くと、勘定系処理や外部システムとの接続、バックオフィス業務などを思い浮かべる読者も少なくないだろう。これらのシステムでは、「求められるシステム品質が高く、ドキュメントは重厚に整備、管理され、大規模な工数が必要なプロジェクト」という点を想像するに難くない。野村総合研究所(以後、NRI)はインターネットバンキングや証券業の大規模共同利用型サービスを構築、運用しており、まさにNRIが得意とする領域でもある。 こうした大規模プロジェクトのみならず、NRIは
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog 概要 LINEのインフラは50,000台以上の物理マシンによって構築され、インフラエンジニアはそれらマシンの能力を最大限発揮すべく日々開発を行っています。LINEの各種サービスを支えるプライベートクラウドのVerdaも同様に規模を拡大しています。規模の拡大に伴って、規模に応じたオペレーションの問題が出てきました。その問題の一つとして、既存の管理システムによるデプロイは4時間を超えるオペレーションになりました。 この問題を解決するために、今回の技術職 就業型コースのインターンシップで、私は効率的なVerdaのHypervisoの更新システムを構築しました。その設計にはKubernetesのOperator Patternを採用し
D.M. です。Kubernetes 管理ツールのご紹介です。 TL;DR ・Lens は Kubernetes の管理コマンドラインツールである kubectl を GUI で使いやすくした管理ツール。 ・Lens の特徴はデスクトップアプリであること、 Lens Extension という独自拡張機能、 Workspace によるクラスターグルーピング機能の3点。既存ツールでほぼ同等の機能を持つ Rancher はサーバインストール型でブラウザで利用する点が異なる。 ・Lens を利用するにはデスクトップ環境から kubectl で kubeconfig をベースにマスターノードの kube-apiserver と通信ができる必要がある。 Lens とは Lens (レンズ)は Kubernetes クラスタの運用管理ツールです。 「 Kubernetes のための IDE 」(統合開
1行で カジュアルな気持ちでk8sの翻訳に関わり始めたよ。 背景 YAPC KYOTO 2023はYouTubeで視聴していて、Linux Conferenceの主催側立場だったりした頃を思い出したり、Debian ConferenceやRuby会議も楽しかったなーなどと感慨にふけっていた(今年のRuby会議はちょっと行きたいなと思ったんだけど、業務とつなげるのが現状では難しそうなのもあって見送り)。 yapcjapan.org 発表はどれも印象深かったのだけれども、最後のLTで@nasa9084さんの「Kubernetesの翻訳協力者募集!」を聞いて「Kubernetes使える人は英語で特段問題なさそうだなぁ」と感想を呟いたところ、@nasa9084さんに拾っていただいて反応をもらった。 speakerdeck.com そもそも翻訳をできる人は日本語のドキュメントを必要としてないので、コ
Google、Kubernetesを自動運用してくれる「GKE Autopilot」正式リリース。ノードのプロビジョニング、マルチゾーン展開、スケーリングなど自動的に最適実行 Googleは、Google Kubernetes Engineの新機能として、Kubernetesの運用を自動化する「Google Kubernetes Engine Autopilot」(GKE Autopilot)の正式リリースを発表しました。 #Kubernetes の革新的な運用モードである GKE Autopilot をリリース。GKE ユーザーは 2 つの異なる運用モードを選択できるようになりました。Autopilot は GKE の幅広い既存機能だけでなく、パートナーのソリューションとも互換性が維持されるよう設計されています。https://t.co/Dyhj0V4lU7 #gcpja pic.twi
はじめに こんにちは、ECプラットフォーム基盤SREブロックの織田と、カート決済SREブロックの遠藤です。 本記事では、Istio Rate Limitの概要とZOZOTOWNでの導入事例を2つご紹介します。 目次 はじめに 目次 現在のZOZOTOWN Istio Rate Limitの概要 Istio Rate Limitとは? 仕組み どのような制限ができるのか? Circuit Breakerとの違い 導入事例 事例1. マイクロサービスから外部APIへのリクエスト制限 構成 設定と計測のポイント 1. レイテンシの計測 2. 1つのAPIに対して2重の制限を設定 事例2. オンプレミス環境のリクエスト制限 構成 設定と計測のポイント 1. 商品別の注文リクエスト数制限 2. 閾値決定のための負荷試験 今後の展望 感想 最後に 現在のZOZOTOWN ZOZOTOWNではオンプレミ
Mercari US Microservices Platform TeamのYuya Yaguchi氏は、同社の4月8日のブログにて、プルリクエストの作成時にKubernetes上にテスト環境を簡単に作成できるツール「KubeTempura」をOSSで公開したことを発表した。 KubeTempuraは、GitHubでのプルリクエスト(PR)をトリガーとしてKubernetesのリソースを作成できるツール。PRの作成だけでなく、PRへのコミットのプッシュもトリガーとして機能する。 同氏によると、「PRごとに環境をつくるというアイデアはHeroku Review Appsなど広く知られているもの」で、社内でもKubernetes向けに似たアイデアのツールがあり、利用されていたという。 しかし、以前のプログラムでは同社内の典型的な設計のマイクロサービスにはうまく対応できるものの、Service
本文の内容は、2023年3月16に JASON UMIKER が投稿したブログ(https://sysdig.com/blog/kubernetes-cpu-requests-limits-autoscaling)を元に日本語に翻訳・再構成した内容となっております。 以前のブログ記事で、Kubernetesのリミットとリクエストの基本について説明しました:これらは、クラウド環境のリソースを管理するために重要な役割を果たします。 このシリーズの別の記事では、クラスターに影響を与える可能性のあるOOMとCPUスロットリングについて説明しました。 しかし、全体として、リミットとリクエストはCPU管理のための銀の弾丸ではなく、他の選択肢の方が良い場合があります。 このブログポストでは、次のことを学びます: CPUリクエストの仕組みCPUリミットの仕組みプログラミング言語別の現在の状況リミットが最適
ProductGitHub Packages Container registry is generally availableThroughout the beta, we added features to improve the experience of using the Container registry. Today, we’re excited to announce that the Container registry is generally available as part of GitHub Packages! Last year, we introduced the Container registry to GitHub Packages and saw developers utilize it as a way to publish, manage,
Rationale The entire premise behind GitOps is to use Git as the source of truth for infrastructure and application configuration, taking advantage of Git workflows, while at the same time, having automation that realizes the configurations described in Git repositories (GitOps operators when we are deploying to Kubernetes). That said, both infrastructure configuration and application configuration
Kubernetesやそれに関するソフトウェアについて交流や情報交換のための勉強会「Kubernetes Meetup Tokyo」。 前回は、ソフトウェアエンジニアとして働く村田俊哉氏(@shmurata_)がKubernetesのアップグレード前の作業について紹介しました。今回は、実際のアップグレードについて、それに付帯するアドオンやストレージバージョンの更新について経験者だからわかる視点で説明します。 kubectl drainについて 村田俊哉氏:メインのノードのアップグレードですね。ノードは、実際にサービスを稼働させているPodが動いているので、無停止でアップグレードするには、このPodをグレースフルシャットダウンさせてから、ノードを停止していく必要があります。ノードをグレースフルにシャットダウンする方法として、Kubernetesが提供しているコマンドkubectl drain
先日、Kubernetes Meetup Tokyo #59 で「KEP から眺める Kubernetes」というタイトルで発表しました。発表の後で Kubernetes の upstream のキャッチアップ方法について質問を受けました。その場で回答はしたのですが、ちょうど社内の共有会で似たような話をしたところだったので、加筆修正したものを公開しておきます。 はじめに Kubernetes の upstream を追いかけ始めて 1 年ちょっと経ったので、その経験をまとめます。Kubernetes の upstream やエコシステムを観察しているだけで、コントリビュータではありません。間違っている部分があったらごめんなさい...! Kubernetes の開発体制や開発者の所属組織の分布、新しい機能を追加する際のプロセスの話を簡単にしてから私のキャッチアップ方法についてまとめています。
はじめに テックリードの柿崎です。私たちは、機械学習のパラメータチューニングを効率よく行うため、KubernetesネイティブのワークフローエンジンであるArgo Workflowsを採用しています。この記事では、その導入手順の要点を紹介いたします。 導入の目的 Argo Workflows導入以前は機械学習のパラメータチューニングを行うにあたり以下の機能を独自に実装しており、属人化していました。 パラメータ探索のアルゴリズム インスタンスのスケーリング インスタンスの稼働状況の可視化 ジョブの進行状況の可視化 これらをより柔軟に活用できるようにして、開発、更新サイクルを早めていくことが導入の目的です。 前提条件 Kubernetes(EKS)はすでに構築済みであること Kubernetes、Helmについての基本的な知識があること Argo Workflowsの基本的な知識があること K
VMware、無償のKubernetesディストリビューション「VMware Tanzu Community Edition」リリース。AWS、Azure、ローカルマシンなどに導入可能 VMwareは、無償のKubernetesディストリビューション「VMware Tanzu Community Edition」を公開しました。 Now available: VMware Tanzu Community Edition! Get unrestricted, no-cost access to the same open source software used in Tanzu commercial editions. @amanda_katona shares the details here: https://t.co/6SRH0yiZrK — VMware Tanzu (@VMwar
SRE課で、主にBacklogのSREを担当しているMuziです。 物理サーバやインスタンスで動作していたアプリケーションを、Kubernetesクラスタに移行する際には、いままで暗黙的に存在していた前提に目を向ける必要があります。そのような前提を無視すると、アプリケーションは動作したとしても、可用性が悪化する可能性があるためです。 私たちがBacklogをEC2インスタンスからKubernetesクラスタに移行した際にも、可用性の悪化に繋がる問題に対処する必要が生じました。今回は、そのような問題の一つであるGraceful Shutdownに関する注意点を、私たちの実体験をもとにご紹介します。 なお、以下の内容はAmazon EKSのKubernetesバージョン1.22で確認しました。Amazon EKSに固有の話題も含みますが、Kubernetes全般に共通する部分も多いかと思います
この記事は、Developer Productivity Engineering Campブログシリーズの一環として、Platform DX Teamの@micnncimがお届けします。 はじめに メルカリでは社内エンジニアの多くがマイクロサービスを開発に携わっているため、Platform Developer Experience(DX)チームは、Platform Engineeringをもって、エンジニアがビジネスロジックなどのバックエンド開発に集中できるよう、さまざまな社内プロダクトを提供しています(その概要については、前回の記事「Developer Experience at Mercari」で紹介しています) この記事では、私たちが開発してきたCUEによるKubernetesマニフェストの抽象化について紹介します。 これはKubernetesマニフェストの構成に関する多くの問題を解
Amazon Web Services ブログ Amazon EKS ワーカーノードの謎を解くクラスターネットワーク AWS で Kubernetes を実行するには、AWS のネットワーク設定と Kubernetes のネットワーク要件の両方を理解する必要があります。デフォルトの Amazon Elastic Kubernetes Service (Amazon EKS) の AWS CloudFormation テンプレートを使用して、Amazon Virtual Private Cloud (Amazon VPC) と Amazon EC2 ワーカーノードをデプロイすると、通常の場合、すべて機能します。しかし、設定に小さな問題があると、エラーが発生してイライラさせられることがあります。 このブログでは、Amazon VPC を設定するさまざまな方法を見ながら、Amazon EKS が
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く