タダです。
Kubernetes
Dockerのオーケストレーションツールが、Kubernetes(クーベネティス) Docker Composeも同様のツールだが、Kubernetesはローカルもリモートに対してもオーケストレーションできるのが特徴
概念
- Pod : コンテナの筐体を指す
- Service : 複数または単一のPodにアクセスするためのロードバランサのような存在で、Pod同様にIPを保持してPodに対してトラフィックを投げる
- Deployment : Podを何個起動するか、コンテナのアップデート方法などを定義する
- Volume : コンテナで生成されたファイルで永続化させたいものはVolumeを使う必要がある
- ConfigMap : コンテナで利用したい環境変数を保管するための仕組み
- Secret : 秘密情報をPodで利用できるようにするための仕組み
- Ingress : インターネットからServiceへの通信を橋渡しする役割をもつ、SSLターミネーションや負荷分散機能を持つ
- Namespace : 利用目的やシステムに応じて、Pod、Serviceなどを管理できる
minikubeのセットアップ
Macにminikubeをセットアップします
1.minikubeのインストール
» brew cask install minikube Updating Homebrew... ==> Auto-updated Homebrew! Updated 2 taps (homebrew/cask, homebrew/core). ==> New Formulae xcodegen ==> Updated Formulae arangodb exercism gnuradio hadolint mypy quicktype squid zimg binutils exploitdb gnutls httpd ntl radare2 sysdig clblast flintrock gr-osmosdr jenkins pandoc roll teleport credstash futhark gradle jenkins-job-builder pgcli s3cmd terragrunt darksky-weather gauche groovy linkerd phpunit singular vapoursynth dartsim gnu-prolog groovysdk mikutter pulseaudio skaffold whois ==> Satisfying dependencies All Formula dependencies satisfied. ==> Downloading https://storage.googleapis.com/minikube/releases/v0.28.0/minikube-darwin-amd64 ######################################################################## 100.0% ==> Verifying checksum for Cask minikube ==> Installing Cask minikube ==> Purging files for version 0.28.0 of Cask minikube
2.バージョン確認と最新版へのセットアップ
インストールできたのが、v0.23だったのでこの時の最新のv0.28へ更新します コマンドは、githubの情報をそのままコピペ
Release v0.28.0 · kubernetes/minikube · GitHub
» minikube version minikube version: v0.23.0 » curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.28.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 40.6M 100 40.6M 0 0 3936k 0 0:00:10 0:00:10 --:--:-- 2710k Password: » minikube version minikube version: v0.28.0 » kubectl version --client Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-12T14:26:04Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
まずは、セットアップだけで、明日から起動させたりします。
また明日