前回は、minikubeを使ってローカル環境内でコンテナアプリケーションを実行する環境を整えました。 しかし、サンプルアプリのデプロイを通して、ソースコードに加えて、コンテナイメージのビルドやKubernetesマニフェストの反映等、手順が煩雑だと感じられた方も多かったのではないでしょうか? コンテナ以前のアプリ開発だと、任意のIDEを利用してソースコードを記述し、IDEまたはコマンドからそのままローカル環境で実行・確認していた方が多いと思います。 Kubernetesに載せるためには、追加手順としてコンテナのビルドやマニフェスト反映が必要となり、これを手動でやっていては間違いなく開発効率が悪くなることでしょう。 今回はこれを解決するために、Google社で開発・運用しているKubernetes向けの自動化ツールのSkaffoldを導入し、この面倒な手順を自動化してしまいましょう。 なお、
それではここからはアプリケーションの開発編に入っていきましょう。 チームでKubernetesで動作するアプリケーションを開発する場合に、どうやって各開発者がコンテナ環境で動作するアプリケーションを実装・テストすればよいでしょうか? クラウド上に各個人のクラスタ環境を準備するのが理想的ですが、コスト的に難しいというのが一般的かと思います。 そのような場合は、コンテナ以前の開発ように各ローカルマシンでアプリケーションプロセスを起動して動作確認を行い、実際のクラスタ環境での確認は結合試験等で実施することになるでしょう。 これでもいいのですが[1]、トライ&エラーでクイックフィードバックが得られるローカル環境で、コンテナ内のアプリの振る舞いやKubernetesのリソース(DeploymentやService等)の定義を確認できる方が断然効率的です。 ここではローカル環境でスモールバージョンのK
はじめに Kubernetes を使っていて、Service (ClusterIP) 経由でアプリケーションにアクセスしたいこと、ありますよね。ClusterIP はクラスタ内の Pods からしかアクセスできないので、ちょっと手元のブラウザからアクセスしたいというときに困ります。 ここでは、ハンズオン形式で手を動かしながら Kubernetes クラスタの外から ClusterIP の Serivce を使ってアプリケーションにいい感じにアクセスする方法を学びます。 TL;DR Service の ClusterIP にはクラスタ外からアクセスできない kubectl port-forward svc/<svc-name> コマンドは実際には ClusterIP を使っていないので注意 実は kubectl proxy コマンド + Service proxy サブリソースを使うとクラス
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) 全体構成 理解に
Lately I’ve been working with Kubernetes in order to provide a self-service deployment platform. This ranges from setting up a production-ready cluster, to figuring out how to fit it in a development workflow. Although it’s getting easier, cheaper and faster to use cloud-provisioned environments for development, it can be a productivity-killer to have the cognitive overhead of dealing with remote
概要 Operatorは、CoreOS社(2018年現在はRedHat社)が、2016年に管理者のもつアプリケーションのナレッジを、Kubernetesの拡張機能を活用しソフトウェアとしてプログラムするものとして、発表されました。Kubernetesでは、セルフヒーリングなどインフラストラクチャーの運用を自律化させるフレームワークが備わっています。このフレームワークを使ったOperatorを開発することでアプリケーションの運用を支援します。 今回は、2018/7にv0.2.0が公開されたOracle社が提供するMySQL-Operatorの動作検証を行います。 検証環境 Kubernetes v1.10.0 minikube v0.28.2 Helm v2.9.1 事前準備 MySQL-Operator はHelmをつかってデプロイするため、Helmのセットアップを行います。 $ helm
今回はminikubeを使ってローカルに環境を作って、MySQLを建てる。なお、「やってみた」以上の情報はない。完全に自分用のメモです。 minikubeのインストール minikubeはローカルでKubernetesを動かすためのツールで、docker-machineのようなものと思えばわかりやすかった。kubernetes/minikube の通りにインストールすればOK。 kubectlのインストール Kubernetesを操作するためのツールで、これはdockerに相当するのかな。Installing and Setting up kubectl を見てインストールすればOK。 Kubernetes環境を起動する minikubeで一発起動する。便利〜。 $ minikube start GUIもあるようで、proxyコマンドで起動できる。めちゃ楽だ。 $ kubectl prox
Kubernetesの使用感に興味があってaws-workshop-for-kubernetesというのを先週やり、ちょうどEKSがGAになった直後だったのでEKSが試せたのだけど、まあ最初からマネージドだとあまり面白みがないし金もかかるので、個人のVPSで動かしてた奴を全部Kubernetes上で動かすようにしてみている。 まだ本番で運用した知見みたいなのが貯まってるわけではないのだが、公式のドキュメントを中心に読んでいても単に動かし始める段階で結構ハマって時間を消費したので、これから同じようなことをやろうとしている人向けに備忘録を兼ねて使用感や知見をまとめておくことにした。 Kubernetesは今でもalphaやbetaの機能が多く、今後この記事の内容も古くなることが予想されるので、なるべく公式のドキュメントへのリンクを置くのを意識して書いてある。 構成 現時点で、ConoHaで借り
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く