Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Docker互換のコンテナエンジンとしてRed Hatが主導して開発しているオープンソース「Podman」の2年振りのメジャーバージョンアップ「Podman 5.0」が正式にリリースされました。 PodmanはDocker互換のコマンドラインツールを備え、OCI(Open Container Initiative)互換のDockerイメージを操作可能なコンテナエンジンです。 デーモンを使わず軽量で高速に動作すること、ルートレスでコンテナを操作できるためセキュアなことなどを大きな特徴としており、PodmanからKubernetesのYAMLファイルを生成できるため、Kubernetesとの連係も容易とされています。 今回のPodman 5.0では、WindowsやMacの上でLinuxコンテナを利用可能にするための仮想マシンを実行するPodman Machineが全面的に書き換えられ、性能と
※本記事は下記の記事の続編となっておりますが、Dockerに関する基礎知識があれば本記事単体でもお楽しみいただけます。 blog.ecbeing.tech 「Dockerって名前だけは知ってるけどよくわからない」「前回記事が気になる!」という方は、ぜひ上記記事をご一読ください。 はじめに こんにちは! ecbeing新卒1年目の浦です。 前回は「Docker〜概要編〜」ということで、Dockerに関することをざっくりとまとめてみました。 ちなみに前回記事はとってもご好評?だったようで…。 はてなブックマークや暖かなブックマークコメントをたくさん頂きました…!もう本当に筆者冥利に尽きます…!! 今回記事も前回記事に負けないくらいボリューミーなのでぜひぜひ! さて気を取り直しまして…。 今回は「Dockerを取り巻く外部サービス編」ということで、Dockerと密接な繋がりがあるツールやサービス
こんにちは、CyberAgentの岩井佑樹(@tenzen-y)です。連載「5分でわかる!Kubernetes/CloudNative」の第3回では、Kubernetes上でのBatchワークロードの扱いに触れた後、Kubernetes NativeなJob Queueing基盤を実現するためのOSSである、Kueueについて紹介します。また本記事で紹介するKueueは、記事執筆時点の最新バージョンであるv0.2.1です。 KubernetesとBatchワークロード Kubernetesではこれまで標準機能として、ロードバランシングやローリングアップデートなどのServiceワークロードのための機能や、Container Storage Interface(CSI)、Container Object Storage Interface(COSI)、Storage Capacity Tra
Kubernetesの読み方 Kubernetesと書いて、どう読むでしょうか。 登場時には、クーベルネイティスと読む人やクーベネティスと読んだり、いったいなんて読むのが正解なんだろうと悩んだままなんとなくクーベルネティスがいいかななんて思っていました。 今日、日経にこんな記事が出ました。 www.nikkei.com ・・・その主役は、グーグルが開発した仮想化ソフトの運用ツール「クバネティス」・・・ クバネティス!!!。また新しい呼び方ですが、日経に出たということは今後は経営層はクバネティスと言ってくるはずなので、少なくとも日本国内では、く・・くばねてぃす・・と呼ぶことにしようと思います。 Kubernetesはまだ成功していない 国内のメディア記事を読む限り、結構たくさんのワークロードがKuberenetesで動くようになってきたように思います。特に大量のコンテナで分散処理する必要があ
こんにちは、Necoプロジェクトのsatです。 本記事ではKubernetes(以下K8sと記載)アプリケーション(以降アプリと記載)の開発を高速化するツール、Telepresenceを紹介します。 最初に結論を書いておくと、Telepresenceは次のようなツールです。 ローカルで動くプロセスやコンテナをk8sクラスタの中で動かせる 既存のDeployment内のコンテナを上記ローカルコンテナで置き換えられる テストやデバッグのためにいちいちコンテナイメージをレジストリにpush,そこからpull…とする必要がないので開発速度が上げられる Telepresenceは現在Cloud Native Computing FoundationのSandBoxプロジェクトです。 Telepresence登場の背景 前節において"開発を高速化する"と書きましたが、まずはTelepresenceを使
新規プロダクトでKubernetesを中心にCloudNativeなアーキテクチャのインフラを導入した話 Tech Blog 2019.08.26 はじめに アドテク本部Airtrackチームの横山(@nnao45)です。 チーム内ではScala書いたり〜K8Sと遊んだり〜AWSったり〜しています。 この度Airtrackチームの新規プロダクトでKubernetesを採用し、本番環境に投入したのでその知見を共有させた頂きます。 おしながき 目指したアーキテクチャ Kubernetes周り ミドルウェア CI/CD 監視 感想 目指したアーキテクチャ 妥協はしないが身の丈にあったコンテナプラットフォーム って感じですかね。 Kubernetes周り サービスレイヤひとまわり Airtrackチームで広告系完全新規プロジェクトの立ち上げに Kubernetes中心にクラウドネイティブなアーキテ
[速報]Azure Functions、Azure App ServiceなどがAWSやGoogle Cloud、オンプレミスなどで実行可能に、Kubernetes対応で。Microsoft Build 2021 マイクロソフトは、オンラインで開催中の開発者向け年次イベント「Microsoft Build 2021」で、Azure App ServiceやAzure Functionsなど、これまでMicrosoft Azure独自だったサービスをKubernetesに対応させたことを発表しました。 これにより、以下のサービスはMicrosoft AzureだけでなくAWSやGoogle Cloudやオンプレミスなどのプラットフォームを問わず、Kubernetes環境上であれば動作するようになりました。 Azure App Service Webアプリケーションを簡単にデプロイし、スケーラ
VMwareは、仮想化ハイパーバイザであるvSphereにKubernetesを統合する「Project Pacific」を発表しました。vSphere上で直接KuberenetesクラスタやPodsを実行し、運用管理できるようになります。 VMworld 2019の基調講演では、Kubernetesのオリジナル開発者の一人であり現在はVMwareでプリンシパルエンジニアを務めるJoe Beda氏がProject Pacificについて、「vSphereがKubernetesを実行するためのより優れた場所になる」と説明しました。 VMware CEOのパット・ゲルシンガー氏は「vSphereがモダンアプリケーションのプラットフォームになる。VMwareは現時点でもっとも信頼できるプラットフォームであるだけでなく、将来においても信頼できるプラットフォームになるのだ」と、Project Pac
※本記事は2022年1月26日に公開された記事の翻訳版です。 筆者:Dylan Lau (@aidiruu), Platform DXチーム Zero Touch Production (ZTP)は、本番環境に加えられるすべての変更が、自動化、安全なプロキシ、または監査可能なBreak-glass(緊急アクセス)システムによっておこなわれるという概念です。人為的ミスに起因する本番環境での障害には、次のようなさまざまな種類があります。 構成エラー スクリプトエラー 間違った環境でのコマンド実行 ZTPはこれらのエラーによる障害発生のリスクを軽減できます。メルカリでは、ZTP環境への移行に取り組んでいます。最初のステップは、一時的な役割付与システムであるCarrierを実装することです。 この記事では、以下について説明します。 ZTPの重要性 ZTPを実装するプロセスとCarrierを始めた理
Marek Bartik Kubernetes、AWS、DevOpsをはじめ、インフラストラクチャーへの深い知識と情熱を捧げるソフトウェアエンジニア。NoOps/NoCodeのマニアでもある。 この記事は、著者の許可を得て配信しています。 https://blog.pipetail.io/posts/2020-05-04-most-common-mistakes-k8s/ 次の記事 (後半)Kubernetesでのよくある失敗10選 私たちは長年のkubernetesを使ってきた経験の中で、かなりの数のクラスタを見る機会がありました(GCP、AWS、Azure上で管理されたクラスタと管理されていないクラスタの両方です)。そして間違いが何度も繰り返されているのを目にします。これは決して恥ずかしいことではありません。みんな同じように間違いを繰り返しているのですから。 そこで、今回は私たちがよく
はじめに 世の中的に企業のデジタルトランスフォーメーション(以降DXと略)にどう取り組むべきか?というプレッシャーが日々高まっている昨今、皆様いかがお過ごしでしょうか。 DXに取り組むためには、システムのアジリティ(いわゆる俊敏性)を高める必要があると言われており、世の中的にはそれに求められるナレッジが確立されつつあります。その代表格である「マイクロサービスアーキテクチャ」が2014年に提唱され、そろそろ日本でも普及期に入る段階であると理解しています。 マイクロサービスアーキテクチャは最近までデジタルネイティブな企業が使いこなす道具という認識でしたが、2018年3月にコンテナオーケストレーションツールの KubernetesがCNCFを卒業した ことに伴って、エンタープライズ市場にもマイクロサービスアーキテクチャ採用の機運が高まりだしているように思います。 マイクロサービスアーキテクチャは
個人的な感触ですが、ECSとEKSを並べてみた場合、ものすごい単純に以下の感想でした。 「できることはEKSのほうが多い。けど、そのぶん習得がECSより難しい」 よく考えるとこの「難しい」という単語、簡単に使ってしまいがちなんですが使い方を間違えると非常に危険な言葉だとも思ってます。それは「誰にとっての難易度か?」という観点が抜け落ちがちだから。 AWSにおいてコンテナワークロードを展開しようと検討する人は様々いると思いますし、その組織や担当者の技術スタックも千差万別でしょう。kubernetesの経験は豊富だけれどAWSの経験はあんまりない、またはその逆、もしくはDockerは散々さわっているけれど、オーケストレーションツール自体が初めての人など。 自分の現場経験はECSのほうがEKSより圧倒的に多く、今でも「EKSってやっぱりなんか敷居高いなぁ」と感じてます。でも、よくよく思い出すと最
今年読んだ技術書籍やレポートなどをざっくりまとめてる.Infrastructure Engineer・Platfomerとして日々の業務に直結するものから1年くらいかけてやっていきたいと思っていることなどを中心に. Kubernetes 業務ではメインにKubernetesを使っているのでKubernetesに関わる書籍は発売されれば大体目を通すようにしている. 今年発売されたので良かったのはProgramming Kubernetes.この本はCRDやOperatorによってKubernetes nativeなアプリケーションを構築することにフォーカスしている.昨年のJapanContainerDaysでのMicroservices Platform on Kubernetes at Mercariでも話したようにKubernetesを使う大きな理由の1つはその拡張性にある.Kubebu
「ふわわぁ、眠いな。今日も働くかぁ…ってこれまじかよ!!」 朝、5時半に目が覚めて日課のtwitterチェックをしたところ、AWSのコンテナアドボケイトである、Nathan Peck(@nathankpeck)の以下のtweetを発見。 ? We just lowered the price of the EKS control plane from $.20 per hour to $.10 per hour: https://t.co/ABu6RlDJ38 This will make it more cost effective to use EKS with small clusters and applications, while still benefiting from a fully managed, AWS optimized control plane — Natha
こんにちは、ビコーペガサスです。この度、「Docker/Kubernetes 実践コンテナ開発入門 改訂新版」を出版します。本書は2018年に出版した初版を全面改訂したものです。 【新刊】2024年2月24日発売『Docker/Kubernetes実践コンテナ開発入門 改訂新版』本体3,600円+税,山田明憲 著,Docker/Kubernetesを実践で使いこなす!コンテナ開発・運用の第一歩!https://t.co/jRfsDFnuKu pic.twitter.com/dd0qo4DZM1 — 技術評論社販売促進部 (@gihyo_hansoku) February 13, 2024 「改訂新版」のモチベーション 初版の出版から早5年半が過ぎ、コンテナ技術の情報は大きく変化しました。コンテナ技術の基本的な部分は変わらないとはいえ、初版の内容が陳腐化するだけの時間が流れたことは否定しよう
AWS Fargateについて 清水崇之氏(以下、清水):2つ目の相談にも進みたいなと思います。2つ目に「AWS Fargateの運用とコスト最適化について」というお話をいただいています。 新しいサービスとしてAWS Fargateというものが出てきたので、こちらもAWSのSAから簡単に紹介したいなと思います。 下川賢介氏(以下、下川):AWSの中でコンテナを扱えるサービスが何個かあるんですが、その1つが「Amazon ECS」という、コンテナオーケストレーションできるようなサービスになってきます。コンテナの実行環境ですね。 このECSには2つのタイプがあって、on EC2で動くECSと、on Fargateで動くECSがあります。それぞれ何が違うかというと、AWSで管理してくれる領域が違います。(スライドを示して)青色で書かれているところがお客さまが管理するレイヤーで、黄色で表されている
こんにちは。EC基盤グループの宮口(@smiyaguchi)と池田(@progrhyme)です。 モノタロウではKubernetesのマネージドサービスであるGoogle Kubernetes Engine(以下、GKE)を利用しています。 このKubernetesですがとても便利な反面、管理が大変で開発者がアプリケーションの開発とKubernetesの運用を同時に行うのは負荷が高くなりあまり好ましくありません。 そこでモノタロウでは開発と運用を分離できるように、社内でGKE共通環境と呼んでいるマルチテナント方式のクラスタによるアプリケーションの実行基盤を構築しました。 今回はその紹介をします。 マルチテナント・シングルテナントとは? なぜマルチテナントのGKE環境を作ることにしたのか 全体概要 前提・環境情報 GKE共通環境の特徴 Namespace・ノードプールの分離 RBACによる権
*1 デフォルトでは Pod に割り当て可能なセカンダリ IP アドレスを ENI 1個分(その ENI に割り当てできる最大数)確保する設定ですが、実際には DaemonSet などがありすぐに ENI 1個分の空きという条件は満たさなくなるので、ワーカーノード起動時に ENI 2個分(「そのインスタンスタイプが ENI ごとに割り当てできる IP アドレス数」の2倍)が確保されるということになります。ドキュメントとしては次のリンクをご参照ください。 参考: https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/cni-env-vars.html 参考: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/cni-proposal.md 例えば、ピーク時に c5.4x
こんにちは、技術部プラットフォームグループのそめやポチです。最近はpng形式の画像をjpeg形式に変換する仕事をしています。 この記事では、私が社内のKubernetesクラスタのお世話をしているときに出会ったトラブルとその解決方法、またトラブルが起こった原因について説明します。トラブルの原因についてはKubernetes, Nginx, Linuxの3つのプロダクトについて、コードリーディングをしながら解説します。 直面した事象 急にKubernetesクラスタ内のNginxコンテナが起動しなくなりました。 GMOペパボが提供しているサービスの一つであるminneでは、検証用のKubernetesクラスタを利用しています。本番環境で使用しているKubernetesクラスタを模倣した、開発・検証のための環境です。そのクラスタ内でトラブルが起きていました。 トラブルの説明をするために、まずこ
ヤフー名古屋 Tech Meetup #2 - https://yahoo-nagoya.connpass.com/event/129398/ 大規模環境でのコンテナの利用において、Kubernetes がデファクトスタンダードになりました。 Yahoo! JAPAN は、2017年10月頃から一部のサービスが本番環境で Kubernetes の利用を開始し、現在では多くのサービスが利用しています。 その結果、Yahoo! JAPAN では数百の Kubernetes クラスタが運用されています。 本セッションでは、Kubernetes の概要から、数百の Kubernetes クラスタの運用を可能にする Yahoo! JAPAN のプライベートマネージド Kubernetes サービスの紹介とそれを支える技術についてお話します。
この文書は「Kubernetes という名前ぐらいは知っているけど、実際には使ったことがない、何ができるのかよく知らない」という人を対象に、Kubernetes の最も基本的なリソースである Pod, Service, Deployment を解説します。この文書を読めば、Kubernetes 上に単純な Web アプリケーションをデプロイできるようになるはずです。 この文書は Docker コンテナの知識を仮定しています。Docker をよく知らない人は先に Docker について勉強しておくことをおすすめします。
KubeFest Tokyo 2020は、Kubernetes を利用している人、これから導入したい人が新しいことを学んだり、ネットワーキングすることを狙いとして開催するワンデイのオンラインイベントです。Kubernetes環境におけるCI/CDの問題をOpen Policy AgentとSpinnakerを導入することで解決する方法について、メルペイの山下氏が話をしました。前半はメルカリのマイクロサービスアーキテクチャについて。 自己紹介とアジェンダ 山下慶将氏(以下、山下):「Open Policy AgentとSpinnakerで実現するマイクロサービスの安全な継続的デリバリー」というタイトルで発表いたします。よろしくお願いします。 はじめに自己紹介します。山下慶将と言います。Twitterは@_k_e_k_eでやっているので、よかったらフォローしてください。今はメルペイSREに所属
こちらの記事は、Jonathan Natanael Siahaan 氏により2019年 10月に公開された『 Step by Step Introduction to Basic Concept of Kubernetes 』の和訳です。 本記事は原著者から許可を得た上で記事を公開しています。 Kubernetesを聞いたことがありますか? 興味があることは間違いないはずです。 だからこそこの記事を開いたのでしょう。 この記事では、Kubernetesの基本概念とその使い方について説明します。 最終的には、Minikube上で動くKubernetesを使用してdockerコンテナを動かします。 クラウドの有料アカウントは必要ありません。 Kubernetesとは何か? Kubernetesは、Googleが作成したオープンソースのプラットフォーム/ツールです。 GO-Langで書かれていま
本記事はFIXER Advent Calendar 2020 15日目の記事です。 k8sお勉強中の冨本です。半年間毎日k8sと睨めっこして、kubectlでの操作にも多少慣れてきました。しかし流石に毎日となるとグラフィカルで操作性の良いツールとか無いかなぁと思ってしまったりするものです。そこで調べていたらk8sのIDEなるものが。Lensと言うそうです。本記事ではLensとは何か、Lensを使って便利だったところ、Lensにk8sクラスターを登録するまでを紹介します。 Lensとは Lensとはオープンソースかつ無料のk8sのIDEです。Electronベースのアプリケーションで、Windows、macOS、Linuxをサポートしています。結構人気みたいで、Githubのスター数は11000件を超えています。IDEの見た目はこんなかんじ↓ Lensを使って便利だったこと クラスターの切り
この記事は、Merpay Tech Openness Month 2020 の17日目の記事です。 こんにちは。メルペイのSREの駒崎(@komattaka)です。 暑かったり台風だったりと大変な日々が続いていますが、ご自愛ください。 目次 対象読者 得られるもの 説明しないこと はじめに CronJobの仕組 そもそもCronJobとは何か パラメータの解説 CronJobが作成される流れ メルペイでは何に困っていた? suspend: trueにしていたCronJobがfalseにした後もJobを生成しない (GKE特有) NodeがCluster Autoscalerによって停止されると、そのNodeで稼働していたJob(Pod)のEvictをCronJobが正常終了したと誤解しconcurrencyPolicy: Forbid(Replace)なのに並列稼働した ユースケース別に設
「Kubernetesは難しい」と感じている方におすすめの入門書『つくって、壊して、直して学ぶ Kubernetes入門』(翔泳社)。今回は本書から、実践的な知識を習得する第一歩として、Kubernetesの基礎の基礎であるPodの作り方を解説します。また、本書でどんなことが学べるのかも紹介します。 本記事は『つくって、壊して、直して学ぶ Kubernetes入門』(高橋あおい著、五十嵐綾監修)の「Chapter 3 全体像の説明」と「Chapter 4 アプリケーションをKubernetesクラスタ上につくる」から一部を抜粋したものです。掲載にあたって編集しています。 本書での学習の流れ 本書では3つのパートに分かれています。 ●Part 1:基礎的な知識と環境構築を行います。 ●Part 2:一番ページ数も多く、Kubernetesを扱ううえで大事なことを詰め込んだパートになります。本
2021/03/01 追記 記載していたリポジトリにあるマニフェスト系があまりに不親切だったので、ちゃんとまとめてみました。 後日、もうちょっとちゃんと記事書こうとは思いますが、大体はREADMEにあるので読んでみてください。 sock-shopをベースにObservability(Prometheus, Loki, Istio(Jaeger, Kiali))とProgressive Delivery&自動負荷試験スタック(Flagger, Jmeter, influxdb)をHelmとKustomizeで詰め込みました。 今回はちゃんと誰もが入れれるようにがんばってみたので、どうぞ。 github.com この内容でCloudNativeDaysOnline2021に登壇することにしています。 event.cloudnativedays.jp 後、随分前ではありますが、本投稿に関連してK
はじめに こんにちは、計測プラットフォーム開発本部SREブロックの近藤です。普段はZOZOMATやZOZOGLASS、ZOZOFITなどの計測技術に関わるシステムの開発、運用に携わっています。 計測プラットフォーム開発本部では、複数のプロダクトを開発運用していますが、リリース作業はプロダクト単位で行っています。プロダクトによってローンチから数年経過し安定傾向のものもあれば、ローンチしたばかりで機能開発が盛んなものもある状態です。 複数のプロダクトを管理する上では当然の状況ですが、プロダクト単位でリリース作業手順が異なり、手順そのものにも課題がある状態でした。 本記事では、リリース作業で課題となっていた部分の紹介と、それぞれの課題に対する対応策についてご紹介します。 目次 はじめに 目次 現状 課題と対応方針 リリース作業の自動化 リリース作業の自動化をする上での必須条件の確認 自動化が必要
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く