LoginSignup
7
7

More than 3 years have passed since last update.

CentOS 7にDockerとKubernetes(minikube)をインストール

Last updated at Posted at 2020-04-20

目的

公式サイトを参考に以下のようなDockerとKubernetes(以下K8s)の環境を構築する

  • Docker: v19.03.8
  • kubectl: v1.18.2
  • minikube: v1.2.0

参照
Docker: Install Docker Engine on CentOS
K8s: Install kubectl on Linux

ちなみにKubernetesの略語であるK8sの由来は公式では下記のように説明されている

Kubernetes という名前はギリシャ語で 操舵手 や パイロット という意味があり、知事 やサイバネティックスの語源にもなっています。K8s は、8文字の「ubernete」を「8」に置き換えた略語です。

リポジトリを使用してDockerインストール

※以下コマンドはすべてrootユーザーとして実行してます

リポジトリの設定

$ yum install -y yum-utils

$ yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

最新バージョンの
Dockerのコミュニティエディション(Docekr-ce)、Dockerコマンドを実行するコマンドラインツール(docker-ce-cli)、containerdをインストールする

$ yum install docker-ce docker-ce-cli containerd.io

インストールが終わったらdockerを起動する

$ systemctl start docker

hello-worldイメージを実行できることを確認する

$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
:
:

下記コマンドでインストールしているDockerのバージョンを確認できる

$ docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:27:04 2020
 OS/Arch:           linux/amd64
 Experimental:      false
:
:

CentOS 7での自動起動設定にDockerを指定する
上記設定のままではCentOS 7を再起動するたびにDockerが停止してしまうため、起動時にDockerも自動起動する設定をするのもおススメ

$ systemctl enable docker

Linuxにkubectlをインストールする

最新リリースをダウンロードする

$ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

kubectlバイナリを実行可能にする

$ chmod +x ./kubectl

バイナリをPATHに移動する

$ mv ./kubectl /usr/local/bin/kubectl

インストールしたバージョンが最新であることをテストして確認する

$ kubectl version --client
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

Minikubeをインストールする

スタンドアロンバイナリをダウンロードし、minikubeバイナリを実行可能にする

$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  && chmod +x minikube

Minikube実行可能ファイルをパスに追加する

$ install minikube /usr/local/bin/

K8sクラスターを起動する
ここでクラスターの起動コマンドはminikube startであるが、これはVirtualBoxがインストールされていることが前提となっている
これはK8sのクラスターがVirtualBoxに仮想マシン上で起動されるからである
今回はVirtualBoxを使っていないためオプションで指定する

minikube start --vm-driver=none

このとき以下のようなエラーメッセージが表示された

* Centos 7.7.1908 上の minikube v1.9.2
* Using the none driver based on user configuration
X Sorry, Kubernetes v1.18.0 requires conntrack to be installed in root's path

この場合は指示に従ってconntrackをインストールする

yum install conntrack

Kubernetesクラスターを起動したら、クラスターのステータスを確認する

$ minikube status
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

このようにステータスがRunningとなっていればOK
以上

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