前回は、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
2018.02.22 minikubeでDockerコンテナをクラスタ構成した運用とDockerコンテナを手作業で地道に管理の運用とどっちが楽か検証しながらまとめてみた 皆さまこんばんは、ikaです。ここ最近の仕事面では開発する時間も増えてきて、中々インフラの話で話題になれそうなものがあんまり出てこないなーという矢先の記事です。 なんだかんだ言って、弊社のインフラはまだ問題が山積みなため生々しい声(主に自分の運用の辛さ<-)も含めて書いています。 今日はその中でも今流行りの(?) Kubernetes によるDockerコンテナをクラスタ化の試験運用を行なっているので、その体験談、プラス自社の既存の運用方針と照らし合わせて結局Kubernetesってどうなの?と言う記事を書いてみたいと思います。それではいってみましょう。 注: 追記参照 コンテナ型仮想化について Dockerコンテナと言っ
k8sクラスタを試作してる段階では、アプリのdockerイメージをいちいちprivate registryにpushしたりするのは面倒です。 minikubeを使ってる場合、docker buildだけしてローカルのimageを簡単に扱えるのでメモ。 環境 Mac OS X 10.11.6 minikube version: v0.14.0 Docker version 1.12.5 (Docker for Mac) やり方 1. minikube VM上のdockerを使うよう設定 これでDOCKER_TLS_VERIFY, DOCKER_HOST, DOCKER_CERT_PATH, DOCKER_API_VERSIONが設定される。 2. dockerイメージをbuild タグはlatest以外にする必要があることに注意。でないと、k8sはregistryからイメージをpullしてこ
はじめに Kubernetesがコンテナオーケストレーションツールのデファクトになったといわれて久しい1ですが、今年のAWS re:InventではAmazon EKS2の発表もあり、これからKubernetesに取り組もうという人もいるのではないかと思います。 かくいう私もその一人で、最近この辺りの技術に入門して色々と試していたので、今日はそのまとめを記します。 更新履歴 2020-05-09 Compose on Kubernetesについて追記 2017-12-12 初稿投稿 用語解説 Kubernetesクラスタをローカルマシン上で構築できるようにしてくれるものです。 Kubernetesクラスタを自前で一から構築するのは非常に大変そう(やったことはありません)なのですが、これを使うと簡単に試すことができます。 CIなどでも活用できそうです。 Docker Composeの設定ファ
Kubernetesのクラスタをローカルで作れるminikubeへの手を付け方をまとめる。 kubernetes/minikube: Run Kubernetes locally https://github.com/kubernetes/minikube 現在最新バージョンは0.18.0。 What is Minikube? Minikube is a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day. シングルノードのkubernetesを作って実験と
Using Google Container Registry (GCR) with Minikube2016-09-14 Are you using the Google Container Registry (GCR) and seeing the dreaded ImagePullBackoff status on your pods in minikube? Are you seeing errors in your pod events like this? Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "test-app" with ErrImagePull: "image pull failed for gcr.io/test-project/test-app:ma
Kubernetes をセットアップ #Linux なので KVM が使えるのですが、Vagrant などで VirtualBox を使っているし、KVM 用のパッケージはまだインストールしてなかったので他の環境でも使えるしということで VirtualBox を使うことにしました。 使いたいバージョンを選んでセットアップすることができます。今回は 1.4.0 を使ってみました。 $ minikube get-k8s-versions The following Kubernetes versions are available: - v1.5.0-alpha.0 - v1.4.0 - v1.3.7 - v1.3.6 - v1.3.5 - v1.3.4 - v1.3.3 - v1.3.0 次のコマンドだけで Kubernetes がセットアップできます $ minikube start St
Kubernetesの使用感に興味があってaws-workshop-for-kubernetesというのを先週やり、ちょうどEKSがGAになった直後だったのでEKSが試せたのだけど、まあ最初からマネージドだとあまり面白みがないし金もかかるので、個人のVPSで動かしてた奴を全部Kubernetes上で動かすようにしてみている。 まだ本番で運用した知見みたいなのが貯まってるわけではないのだが、公式のドキュメントを中心に読んでいても単に動かし始める段階で結構ハマって時間を消費したので、これから同じようなことをやろうとしている人向けに備忘録を兼ねて使用感や知見をまとめておくことにした。 Kubernetesは今でもalphaやbetaの機能が多く、今後この記事の内容も古くなることが予想されるので、なるべく公式のドキュメントへのリンクを置くのを意識して書いてある。 構成 現時点で、ConoHaで借り
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く