LoginSignup
0
1

More than 3 years have passed since last update.

Minikubeを使ってKubernetesに触れてみた

Posted at

Minikubeを使ってKubernetesに触れてみたみたので、その備忘録を書いていきます。
Kubernetesはすでに有名で説明記事も多くあるので、説明に関しては省略させてください。

Minikubeとは

Minikubeは小規模なKuberenetes環境をVM上に作成することのできるパッケージです。
Windows,Linux関係なく構築することが可能です。

Minikubeの環境構築

今回はMacOSを利用します。

まずはkubectlをインストールします。
brewを使います。

brew install kubectl

続いてVM環境のために、VirtualBoxをインストールします。
下記からインストール可能です。
https://www.virtualbox.org/

ダウンロードしたらクリックしてインストールしてください。

続いてMinikubeをインストールします。

brew install minikube

これでMinikubeの環境が整いました。

Minikube起動

Minikubeの起動は下記のコマンドで行います。


minikube start

#このコマンドで状態を見ることができます。
$  minikube status
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

#kubectlでクラスターの情報も取得できます。
$ kubectl cluster-info
Kubernetes master is running at https://192.168.64.2:8443
KubeDNS is running at https://192.168.64.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

podを使って複数コンテナを起動してみる

yamlで設定事項を書いていきます。

apiVersion: v1
# Kubernetesが作成するObjectのタイプ
kind: Service
metadata:
    name: client-node-port
#サブタイプ
spec:
    type: NodePort
    ports:
        -   port: 3050
        #podのport
            targetPort: 3000
    selector:
        component: web

apiVersion: v1
# Kubernetesが作成するObjectのタイプ
kind: Pod
metadata:
    name: client-pod
    labels:
        component: web
spec:
    containers:
        -   name: client
        #dockerhubにアップロードしてあるイメージ
            image:イメージ名
            ports:
                -   containerPort: 3000

これをもとに様々なKubrenetesにおけるオブジェクトが作成されます。

Podはユーザーが作成し、デプロイ可能なシンプルで最も最小のユニットです。単一のPodはクラスター上で稼働する単一のプロセスを表現します。Pod内では一つ以上のコンテナが起動します。
詳しくは下記をご覧ください。
https://kubernetes.io/ja/docs/concepts/workloads/pods/pod-overview/

Serviceはkube-proxyとPodの間を受け持つKubernetesクラスターのネットワーク部分に関わるオブジェクトです。今回はNodePortを用いります。

kubectlに紐付ける

作成したConfigをkubernetesに紐づけるには、下記のコマンドを叩きます。

kubectl apply -f ファイル名

#確認はこちら
kubectl get services 
kubectl get pods

MinnikubeはVM上で起動しているため、ブラウザで開くためにはVMのIPアドレスを知る必要があります。IPアドレスは下記コマンド取得します。

minikube ip

ここで取得したIPアドレスとnodePortを入れたアドレスへアクセスするとブラウザに反映されます。
http://IPアドレス:nodePort/

以上になります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1