この記事はFixer Advent Calendar 9日目の記事です。 はじめに 最近CKADの受験して一旗上げようと画策しているなむゆです。 Kubernetesについて学ぶ中で、腕試しに使えそうな面白そうなサイトを見つけたので紹介してみようという回です。 Game of PODsとは Game of PODsとは、無料で遊べるKubernetesの問題集です。 Kubernetesクラスターにアプリケーションを展開したり、クラスターで起きている問題を解決することを通してそれらの方法を学ぶことができます。 この問題集はKodeKloudというサービスに提供されている教材のひとつで、KataKodaという教材用環境サービス内でホストされている仮想環境にアクセスしてハンズオン形式で課題を解くことができることが特徴です。 問題の内容としては、あるアーキテクチャが与えられて、「このアプリケーシ
前回の記事はこちらです。この記事は前回の記事のリマスターみたいなものとなっております。 読む必要はありませんが、この記事よりも詳しく用語の説明をしている部分もあるため、読んだ方が問題が解消できるかもしれません。 Oracle Cloudの無料枠だけでKubernetes(k3s)クラスタを構築する この記事にて、Kubernetesクラスタを作成してから1年と半年ほど・・・ 1年くらいはノーメンテで動作していることを確認していました。 しかし・・・1年を超えたくらいで動作しなくなってしまいまして、やはりスペック に関しては非常に厳しいものがあったようです。 kubectl打ってタイムアウトになってしまうこともしばしばあり、当然ながら実用的にアプリケーションを動作させるのは無理だな、ということでそのまま放置しちゃっていました。 そして時が過ぎて、いきなりすごいニュースが自分のTLに流れてきま
Kubernetes(EKS)を業務で使い始めてほんの少し感覚が掴めてきました。いわゆる ダイニング=クルーガー効果 で言うところの カンゼンニリカイシタ! というやつですね。 Kubernetes(EKS)はすごく強力な技術なのですがやはりツラミもあります。今回は触ってみて感じたツラミをまとめました。 技術導入を検討されている方への参考になれば幸いです。 前提 記事の内容は完全に私個人の意見です。 ここの記事で記載している Kubernetes とは主にAWSのEKS(またはその他のマネージド・サービスでのKubernetes)であり、自前運用の素のKubernetesのことではありません。 自前でKubernetesをまるっと管理する場合にはここで書いてあること以上のツラミが出てくると思います...。 ネガティブなポイントを多く記載していますが、これはEKSをディスりたいための記事では
はじめに GoogleのマネージドKubernetesディストロであるGKEの新機能(厳密には新しい種類のクラスターといったほうがユーザーにとっては正しい説明になると思いますが)、GKE Autopilotが先週大きく話題になりました。 ノードがGoogle Cloudによるマネージド Podごとの課金体系 ノードへのSSHが使えない といった特徴が大きく取り上げられており、ぱっと見AWSのEKS Fargateと非常に似ているように見えます。が、(少なくとも、user facingな部分においては)技術的には全くやっていることが違うと思います。なぜならFargateはEC2とは全く異なるVM技術がベースになっているのに対して、Autopilotは通常のGCEを応用した機能として提供されているからです。 ※まあ、GCEは実はコンテナで動いてるみたいなちょっとした裏話もあったりするんで、本当
We’ve scaled Kubernetes clusters to 7,500 nodes, producing a scalable infrastructure for large models like GPT-3, CLIP, and DALL·E, but also for rapid small-scale iterative research such as Scaling Laws for Neural Language Models. Scaling a single Kubernetes cluster to this size is rarely done and requires some special care, but the upside is a simple infrastructure that allows our machine learnin
はじめに 前回、BGPモードで Kubernertes 1.11 + Calico3.1 の環境を構築しました。 https://qiita.com/sugimount/items/481c8e4bba4be98835d7 今回は、仮想ルータ VyOS を使用して、BGPルータを作成し、外部のNWから直接PodNetworkへアクセスする環境を構成します。 構成 Master1台 Node2台 BGPルータ1台 (VyOS 1.1.8) Client1台 なお、上記の環境はすべてKVM上の仮想マシンとして作成しています。 仮想ルータ (VyOS 1.1.8) の構成 Install VyOSは、Vyatatから派生したオープンソースのネットワークOSです。L3ルータ、BGPルータ、Firewall、VPN などの機能を提供します。 BGPルータとして、VyOS を利用します。 以下のファイ
Docker Desktop for Windows + WSL2でKubernetesのVolumesの1つ、hostPathを使う方法を調査した。 動作環境 Windows11 Pro 22631.3447 WSL2 Docker Desktop 4.29.0 Settings→General→Use the WSL 2 based engine をチェックしていること ホストのディレクトリを使用する 以下のようにhostPathを指定する。 apiVersion: v1 kind: Pod metadata: name: test spec: containers: - name: test image: alpine:latest command: ["/bin/sh", "-c", "tail -f /dev/null"] volumeMounts: - name: myvolu
すごいタイミングですごい本が出たもんだ。 本日はKubernetes Advent Calendar 2020 その1 向けのエントリー。 本当はCF for k8sの記事を書くつもりだったのだけど、先週盛り上がりまくったDockershimのDeprecated話の後ですごーく良い本が出てきたので、これは紹介せねばということで急遽内容を変更。 jaco.udcp.info CF for k8sの話も途中まで書いちゃっているのでまた日を改めて公開する。 あの神資料が本になったよ ということで今日の話題はこちら。 イラストでわかるDockerとKubernetes Software Design plus 作者:徳永 航平発売日: 2020/12/05メディア: Kindle版 今ではDockerやKubernetesに関する本もだいぶ出揃い、使い方を学ぶのには困らなくなってきた。それに、基
はじめに 今朝に書いたブログが思ったより反響が大きくて、「Dockerが死んだ」という勘違いをされている方も多かったので追加でエントリーを書きました。 blog.inductor.me 決してそんなことはないので、対応が必要なケースを見ていこうと思います。 はじめに 対応が必要ではないケース Kubernetesを使わない人たち 本番はKubernetesでも、開発にDocker Composeを使っているデベロッパーの開発環境 対応が必要なケース 開発環境でも手元でKubernetesを利用する人たち NVIDIA DockerをKubernetesで使っている人たち Kubernetesワークロードの中で「Docker in Docker」や「Docker APIに依存した処理」を動かしている場合 Dockerの機能を使ってこれまでやっていたことについて 対応が必要ではないケース Ku
Kubernetesを触り始めて約1年。 1年の間にたくさんKubernetes関連の日本語書籍が出たし、1年の間に「え、これ先知っておきたかったわ」ということがありました。 ということで今1から勉強するとしたらどうするかな〜と考えたのでまとめてみます。 あくまで私ならどうするか、ていう話なので人によっては再現が難しい可能性があるのであしからず!!(英語がある程度できる前提で書いてるところもあります) 条件 ドキュメントをいきなり読むのは日本語だろうと結構苦手 なるべく手を動かしたい 最初はアプリケーションエンジニアとしてKubernetesを触れるくらいのレベル感をめざす Dockerはなんとなくわかる 分散システムにあまりなじみがない 本当はできれば最初からドキュメントをしっかり読み通すのが一番いいと思っている!思っているよ... 1st step 動画を見る UdemyのCKAのコー
Kubernetesとその関連コードのコードリーディングをする上で知っておくと良さそうなことについて知ってる範囲で雑にまとめてみました 前提知識前提として最低限Kubernetesをある程度触っていて KubernetesはPodとかのリソースと呼ばれるものでコンテナだったりロードバランサーとかを管理するようになっていて実際にDeploymentでコンテナを立ててService/Ingressでコンテナで立てたアプリケーションを外部公開できてコンテナはPodという単位でコンテナをグループ化して同一Nodeで実行されるということを知っているくらいがわかっていればまぁ十分なんじゃないかとは思います あとはKubernetesはGoで書かれているので Goの基礎知識とVSCodeやGolandなどGoのコードを読む際に宣言にジャンプできるようなエディタくらいがあると良いと思います Kuberne
最近 Kubernetes 全然触ってねーなって思ってたところに、『6年ぶりぐらいにクラウド使った結果、Kubernetes以外のマネージドサービスとか基本要らなくない?となった話 – データエンジニアの酩酊日記』を見つけて、自分と異なる立場によるコンテナシステムへの感想を興味深く読ませていただきました。 Kubernetes を推す人がいる一方で、ここには昨夏『Kubernetes、はじめました』と言っておきながら今年に入って全然触らず、ECSを使ったシステムばっか手掛け、Kubernetes いらなくね?って思う人もいるわけで。これはいったいどういうことでしょう、と雑感タイムです。 どうしてコンテナシステムで迷うのか 最初に断っておきたいのは、以下 Kubernetes を否定したり腐すような意図は全くなく、なんでやろ?って自身に問いかけた私見です。やめました、と言ってもウチで今も使っ
Microservices Platform Teamの@deeeeeeetと@dragon3です. Microservices Platform TeamではGoogle Kubernetes Engine(GKE)をメインのコンポーネントとして利用し,その上にメルカリとメルペイのMicroservicesを動かすための基盤を構築しています.メルカリのMicroservices化のプロジェクト自体は2年ほど前から始めており,GKEも当時に構築したものを今日まで運用し続けてきました. この2年間でGKEからは多くの機能がリリースされました.その中のほとんどはそのまま有効にすることができますが,中にはClusterを作り直す必要があるものもあります.例えばRoutes-based ClusterをVPC-native Clusterに,Zonal ClusterをRegional Clust
目次 tl;dr アーキテクチャ サービスアーキテクチャ まとめ 「Stailer」は株式会社 10Xが提供する「開発不要でネットスーパーアプリを立ち上げられるシステム」です。バックエンドとそれにつなげるアプリ(iOSとAndroid)を提供しています。 10Xではよりよいチームを目指しエンジニアも含めメンバーを募っています。エンジニアが気になるどのような技術を使っているかに関して今回このブログで紹介しようと思います。少しでもチームに興味を持ってもらえたら採用ページがあるのでぜひぜひこちらからご応募ください。 tl;dr インフラはGCP クライアントはFlutter(Dart)でサーバもDart サービス間通信はgRPC 分析環境はBigQuery/Redash/Digdagの組み合わせ 監視はCloud Monitoring アーキテクチャ Stailerは主なサービスはGCP上に構築
TL;DR Kubernetes がどのように、人間の作業を自動化しているのかを、実際に Kubernetes がやっている作業を手作業で行なう ことで学びましょう。 このQiita の内容は、CloudNative Days Tokyo 2019 における発表の、「転職したらKubernetesだった件」を書き下ろし、実際にデモが行えるように修正を加えたものになります。 YouTube Speakerdeck この物語はフィクションであり、登場する団体名・会社名・人名等は架空のもので、実在する団体・会社・人物等とは、一切、関係がありません。 これまでのあらすじ ある日、某Z社に転職した稲津さんに与えられた仕事は、“Kubernetes の一員”になることだった!? 某Z社は、親会社からの依頼で Kubernetes クラスタを運用しなければならなくなりましたが、 「Kubernetes
Kubernetes-nativeなアーキテクチャ導入の手引き 先進的なクラウド環境を最強テストベッドで体験 Kubernetes-nativeなエコシステムを実現する最強テストベッド環境です。さまざまなミドルウェアを運用したマイクロサービスをフルgRPCなサービス間通信で実現するだけでなく、CI/CDと開発環境も用意しています。 こんにちは。株式会社サイバーエージェントのAI事業本部でインフラエンジニアをしている青山真也(@amsy810)と漆田瑞樹(@zuiurs)です。今回は、Kubernetesが好きな2人が考える最強のKubernetes-nativeなお試し環境を構築してみました。記事公開時点で、総コミット数が900に迫るリポジトリになっています。 現在、Kubernetesとそれを取り巻くエコシステムは急速に発達しており、便利なツールやミドルウェアが日々生まれています。これは
Editor’s note: Today is the fourth installment in a seven-part video and blog series from Google Developer Advocate Sandeep Dinesh on how to get the most out of your Kubernetes environment. When Kubernetes schedules a Pod, it’s important that the containers have enough resources to actually run. If you schedule a large application on a node with limited resources, it is possible for the node to ru
KubernetesのノードとしてWebAssemblyランタイムを用いる「Krustlet」、マイクロソフトが公開 Dockerコンテナによって実現された軽量で高速に起動するアプリケーション実行環境は、多数のコンテナから構成される分散アプリケーションの普及を大きく後押ししました。 分散アプリケーションの普及は、さらに軽量かつセキュアなDockerコンテナ実現へのニーズへとつながり、GoogleのgVisorやAmazon Web ServicesのFirecrackerといったセキュアなコンテナランタイムの実装や、同じくAWSによるコンテナに最適化したLinuxベースの軽量OSである「Bottlerocket」などを生み出すことになりました。 しかしいくらLinuxを軽量化したところで、OSであるLinuxの軽量化や機能の簡素化には限界があり、それはコンテナランタイムに対しても同様です。
TL;DR pod 削除時、istio-proxy と実アプリケーションコンテナの終了は同期されません。そして大抵 istio-proxy のほうが早く終了します。 pod は istio-proxy のプロセス終了後、リクエストを受けると即座に503を返すようになります。 つまり、例えば http を serve するようなアプリケーションだと、graceful shutdown が実装されていてもそれが無効になってしまいます。デプロイ時などには非常に困る挙動です。 何もしなければこの問題は現在最新の istio 1.1.1 でも起こります。詳細は以下の issue などが参考になります。 https://github.com/istio/istio/issues/7136 対処方法としては、実アプリケーションの pod 終了を待つように istio-proxy に preStop を入
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く