LoginSignup
0
0

More than 3 years have passed since last update.

初学者がKubernetesをはじめてみた ~#1 Minikube導入編~

Last updated at Posted at 2020-11-30

はじめに

30代未経験からエンジニアを目指して勉強中のYNと申します。
インフラを勉強しだすと、k8sありきみたいな空気感に焦りますよね。キャッチアップのために学んだことなどを記録していきたいと思います。

やったこと

Minikubeをインストールしてk8s環境をローカルPC(Mac)に構築。
全体像の理解を(正しいか自信ないが)可視化するとこんな感じ。
スクリーンショット 2020-12-01 10.30.38.png

Minikubeとは

ローカルPCなどで簡単なデモにつかうためのk8s環境。単一のNodeを擁するclusterを実行できる。
Docker-Desktopでもk8sを実行できるが、今回はMinikube×VirtualBoxを選択。

kubectlの導入

なければインストール。

brew install kubectl

Minikubeの導入

まずはインストール。

brew install minikube

ここで、driverはデフォルトでDocker-Desktopに設定されるため、今回はVirtualBoxを指定。

minikube config set driver virtualbox #driverをVirtualBoxに設定
minikube start #起動

スクリーンショット 2020-12-01 10.14.55.png

このとき、ifconfigで設定をみると、Macのプライベートipが192.168.100.144でVirtualBoxのプライベートでipが192.168.99.1であることがわかる。

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=400<CHANNEL_IO>
        ether a4:83:e7:9f:6e:13 
        inet6 fe80::1453:7e43:4759:8eac%en0 prefixlen 64 secured scopeid 0x6 
        inet 192.168.100.144 netmask 0xffffff00 broadcast 192.168.100.255
vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        ether 0a:00:27:00:00:00 
        inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255

これを(自信ないが)図にするとこんな感じ。
スクリーンショット 2020-12-01 11.07.20.png

ちなみに、driverを再指定する場合は、いったんdeleteする必要がある。

minikube status #状態確認
minikube stop #停止
minikube delete #破棄

kubectlの設定確認

kubectl config view

で設定が確認できる。

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
- cluster:
    certificate-authority: /Users/xxx/.minikube/ca.crt
    server: https://192.168.99.100:8443
  name: minikube
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
- name: minikube
  user:
    client-certificate: /Users/xxx/.minikube/profiles/minikube/client.crt
    client-key: /Users/xxx/.minikube/profiles/minikube/client.key

いま、下図に示すとおり、clusterはDocker-DesktopとMinikubeの2つがあるが、current-contextはMinikubeとなっていることがわかる。
また、Minikubeは192.168.99.100の8443ポートで動いており、kubectlとのSSL通信をするにあたってユーザ認証は/Users/xxx/.minikube/ca.crtで行い、ユーザkeyは/Users/xxx/.minikube/profiles/minikube/client.keyにあることが分かる。
スクリーンショット 2020-12-01 10.49.01.png

一応、k8s実行環境(context)がMinikubeになってることが実行中のDocker-Desktopアプリでも確認できる↓

スクリーンショット 2020-11-30 11.19.58.png

参考にさせていただいた記事

https://ubiteku.oinker.me/2017/02/21/docker-and-kubernetes-intro/
https://kubernetes.io/ja/docs/concepts/overview/components/
https://github.com/kubernetes/community/tree/master/icons
https://minikube.sigs.k8s.io/docs/drivers/virtualbox/ 
https://cstoku.dev/posts/2018/k8sdojo-01/

0
0
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
0