Go製のアプリケーション対してDelveというツールを使ってデバッグができます。 この手法を応用すると、Kubernetes上で動くGoアプリケーションに対してもデバッガーを接続できます。本記事ではその方法を紹介し、さらにKubernetes上でのデバッグを容易にするツール Skaffold debug を紹介します。 デバッグ対象のサンプルアプリ デバッグ対象のアプリケーションとして次のようなかんたんなHTTP Serverを仮定します。 // main.go package main import ( "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { _, _ = w.Write([]byte("hello")) }) log.Prin
While using kubectl port-forward function I was able to succeed in port forwarding a local port to a remote port. However it seems that after a few minutes idling the connection is dropped. Not sure why that is so. Here is the command used to portforward: kubectl --namespace somenamespace port-forward somepodname 50051:50051 Error message: Forwarding from 127.0.0.1:50051 -> 50051 Forwarding from [
1行で カジュアルな気持ちでk8sの翻訳に関わり始めたよ。 背景 YAPC KYOTO 2023はYouTubeで視聴していて、Linux Conferenceの主催側立場だったりした頃を思い出したり、Debian ConferenceやRuby会議も楽しかったなーなどと感慨にふけっていた(今年のRuby会議はちょっと行きたいなと思ったんだけど、業務とつなげるのが現状では難しそうなのもあって見送り)。 yapcjapan.org 発表はどれも印象深かったのだけれども、最後のLTで@nasa9084さんの「Kubernetesの翻訳協力者募集!」を聞いて「Kubernetes使える人は英語で特段問題なさそうだなぁ」と感想を呟いたところ、@nasa9084さんに拾っていただいて反応をもらった。 speakerdeck.com そもそも翻訳をできる人は日本語のドキュメントを必要としてないので、コ
「Argo CDをローカルで手軽に試してみたい」 今回はkindを使って、ローカルにkubernetesクラスターを作成して、Argo CDのGetting Startedをやってみます。 EKSで試してみたい場合は、以下の記事はがおすすめです。 やってみた kindでKubernetesクラスターを作成する kindはbrewでインストールできます。 $ brew install kind kindでクラスターを作成します。 $ kind create cluster しばらく待つと、クラスターが作成されたことを確認できます。 $ kind get clusters kind $ kubectl config get-contexts kind-kind $ kubectl get nodes NAME STATUS ROLES AGE VERSION kind-control-plan
この記事について 皆さん、コンテナって使われていますか?専用アプライアンス→仮想化→コンテナという流れで最近コンテナをお使いの企業が増加傾向にあります。AWS, Azure, Google Cloud Platformの三大ベンダーの中でも、Google Cloud PlatformのGKEに関わる機会が増えてきました。 ネットアップが提供する、Spot by NetAppと呼ばれるCloud Opsサービスがあります。このコンテナ需要の増加に相まって、Spot Oceanというコンテナ利用料の最適化サービスも需要が高まるんじゃないかな?と勝手に考えています。既にGKEを集中的にお使いで、コスト最適化をしてみたいなと考えているエンジニアの方に届いてほしいな~と思いながらこの記事を書いています。この記事では、SpotとGoogle Cloud(GKE)の連携から、Oceanで実際にGKEのコ
前回までのあらすじ 最近様々な業界で、コンテナ上のワークロードが増えてきたように感じています。弊社のFinOpsソリューション:Spotには、Oceanというコンテナワークロードのコスト最適化サービスがあります。GKEとの連携は可能ではあるものの、日本語書かれた親切なガイドみかけないため、やり方をご紹介します。 前回の記事では、Spot OceanのSaaSプレーンとGoogle Cloud Platformでコスト最適化をするクラスタが配置されているプロジェクトとの連携が完了しました。この記事では、実際GKEクラスタとOceanを連携させて、利用料の最適化を行っていきます。 GKEクラスターの作成 まずは、Spot Oceanでコスト最適化をかけるGKEクラスタを作成していきます。GKEは初心者なので、とりあえずRecommendedと書いてあるAutopilotモードで、リージョンはa
前回までのあらすじ 最近様々な業界で、コンテナ上のワークロードが増えてきたように感じています。弊社のFinOpsソリューション:Spotには、Oceanというコンテナワークロードのコスト最適化サービスがあります。GKEとの連携は可能ではあるものの、日本語書かれた親切なガイドみかけないため、やり方をご紹介します。 前回の記事では、GKEクラスタ内にOceanを利用するためのOcean Controllerを設置し、Spot OceanのSaaSプレーンとの連携まで完了しました。しかし最後に、ルートボリュームがpd-ssd, pd-standard, nullのどれかではないといけないとエラーが出てしまいました。 さあ、burikiはこの記事内で見事GKEクラスタとSpot Oceanを連携させることが出来るのか?! GKEクラスタの再作成(三度目の正直) 以下の構成でクラスタ(cluster
本文の内容は、2023年3月16に JASON UMIKER が投稿したブログ(https://sysdig.com/blog/kubernetes-cpu-requests-limits-autoscaling)を元に日本語に翻訳・再構成した内容となっております。 以前のブログ記事で、Kubernetesのリミットとリクエストの基本について説明しました:これらは、クラウド環境のリソースを管理するために重要な役割を果たします。 このシリーズの別の記事では、クラスターに影響を与える可能性のあるOOMとCPUスロットリングについて説明しました。 しかし、全体として、リミットとリクエストはCPU管理のための銀の弾丸ではなく、他の選択肢の方が良い場合があります。 このブログポストでは、次のことを学びます: CPUリクエストの仕組みCPUリミットの仕組みプログラミング言語別の現在の状況リミットが最適
www.vcluster.com vclusterはKubernetes上にKubernetesを起動して仮想的なKubernetesを楽しむことができるツールです。特定の名前空間上にk3sをデプロイしその中でリソースを作成、Syncerがリソースをホスト側のKubernetesへ同期をすることで実現しています。 結構楽しそうなツールだったので遊んでみたログを残しておきます。 # 環境 # Kubernetes Providor : Amazon EKS ❯ kubectl version --short Client Version: v1.19.7 Server Version: v1.19.8-eks-96780e Hello Worldしてみる インストール (QuickStart) 専用のCLI(=vclusterCLI)、Helm、kubectlなどいくつかデプロイする方法はあ
こんにちは。EC基盤グループの宮口(@smiyaguchi)と池田(@progrhyme)です。 モノタロウではKubernetesのマネージドサービスであるGoogle Kubernetes Engine(以下、GKE)を利用しています。 このKubernetesですがとても便利な反面、管理が大変で開発者がアプリケーションの開発とKubernetesの運用を同時に行うのは負荷が高くなりあまり好ましくありません。 そこでモノタロウでは開発と運用を分離できるように、社内でGKE共通環境と呼んでいるマルチテナント方式のクラスタによるアプリケーションの実行基盤を構築しました。 今回はその紹介をします。 マルチテナント・シングルテナントとは? なぜマルチテナントのGKE環境を作ることにしたのか 全体概要 前提・環境情報 GKE共通環境の特徴 Namespace・ノードプールの分離 RBACによる権
Kubernetes Meetup Tokyo #56 2023/03/16 https://k8sjp.connpass.com/event/275280/
そのため、Spinnaker 1.0からはインストールや設定を行うための専用ツール「halyard」が導入された。Spinnakerをインストールするにはまずこのhalyardをインストールし、続いてhalyardが提供する「hal」コマンドを使ってコンポーネントの設定やインストールを行うことになる。 halyardのインストール方法については公式ドキュメントでも解説されているが、直接作業用のマシンにインストールする方法と、halyardがインストールされたコンテナを利用する方法がある。Spinnakerが提供しているインストールスクリプトはUbuntu 14.04/16.04向けとなっていることもあり、今回はコンテナをDocker経由で実行する方法を選択した。 また、Spinnakerの各コンポーネントのインストールについても、これらを直接ホストにインストールする方法(Local Deb
Tutorial(matchmaker101)をベースに進めます。 https://open-match.dev/site/docs/tutorials/matchmaker101/ Director サーバ確保を前途のendpointに対して問い合わせた結果を用いるように変更します。 ソースコード https://github.com/suecideTech/try-openmatch-agones/blob/master/OpenMatch/mod_matchmaker101/director/main.go const ( // The Host and Port for the AllocateService endpoint. allocateHostName = "http://fleet-allocator-endpoint.default.svc.cluster.local
概要 k8sのプロダクトである、マッチングシステムのOpenMatchとゲームサーバー管理のAgonesを組み合わせた小規模なアプリケーションをminikube環境で動かします。 https://open-match.dev https://agones.dev 公式ドキュメント内のGetting StartedとTutorialをベースに変更しながら組み合わせていきます。 ※ゲームサーバはAgonesのTutorialを2クライアント接続可能なように改変 ※ゲームクライアントはcurlでOpenMatchから接続情報を取得し、ncでUDPパケット送信するだけとします 実行環境 macOS Catalina(10.15.3) minikube(--vm-driver=virtualbox) OpenMatch(0.9.0) Agones(1.3.0) Go(1.13.7) 全体構成 理解に
本ブログ記事はAWS & Game Advent Calendar 2020の12/1分の記事です。 2020/08/27にリリースされた、Amazon GameLift FleetIQをご存知でしょうか?そもそもGameLiftって何?と思われる方が多いかもしれません。 最近では、日本の各ゲーム会社からもどんどん新しいオンラインマルチのタイトルがリリースされていますが、そんなゲームを開発している方々に一度チェックしていただきたいサービスになります。 GameLift FleetIQは昔からあったGameLiftの一部の機能を切り出したものになりますが、今回はそのGameLift FleetIQにスコープをしぼってざっくりと解説します。 そもそもAmazon GameLiftとはどんなサービスなのか? Amazon GameLiftは、AWSのサービスの一つでマルチプレイオンラインゲームに
Google、モノリスとマイクロサービスのいいとこ取りをする「Service Weaver」フレームワークをオープンソースで公開 Googleは分散アプリケーションの開発とデプロイを容易にするフレームワーク「Service Weaver」をオープンソースで公開しました。 Introducing Service Weaver! Service Weaver is an open source framework for building and deploying distributed applications. It allows you to write your application as a modular monolith and deploy as a set of microservices. Learn more → https://t.co/XmnVALYXNC pic
ただ、サーチリストがこうなっているのは利便性のためだけではなく、もっと切実な理由があります。 サーチリストと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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く