おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

Docker&Kubernetes-ローカル勉強環境の構築

Dockerとは

www.redhat.com

Kubernetesとは

www.redhat.com

今回のテーマ:Docker&Kubernetesを動作するローカル勉強環境の構築

環境概要

ローカルPC内に仮想化マシンアプリケーションを導入し、仮想マシン上で環境を構築します。
環境の構成は以下のようになります。

f:id:In-houseSE:20211017162252p:plain

Docker&Kubernetesの環境構築

環境構築する場合の手順の概要は以下のようになります。

1.Dockerインストール
2.kubectlコマンドインストール
3.minikubeインストール
4.OSファイアーウォール停止
5.Kubernetes起動
6.アドオン追加

0.仮想マシンのIP確認

コマンド

ip -f inet a

実行結果

f:id:In-houseSE:20211017162737p:plain

NICが付与されているIPアドレスを使用するため、確認しておきます。
デフォルトの状態ですとSSHでログインができず、VirtualBox側の設定を更新する必要があります。

参考記事

VirtualBox 上の CentOS に ssh 接続する [ Windows 編] - Resty's log:手取り15万円の日常

1.Dockerインストール

コマンド:

sed -i -e "/timeout\=/d" /etc/yum.conf
sed -i -e "13s/^/timeout=300\n/g" /etc/yum.conf
sed -i -e "/ip_resolve\=/d" /etc/yum.conf
sed -i -e "14s/^/ip_resolve=4\n/g" /etc/yum.conf

オリジナルとの差分

13,14d12
< timeout=300
< ip_resolve=4

コマンド:

yum install -y \
  yum-utils-1.1.31

コマンド:

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • Dockerのインストール

コマンド:

yum install -y \
  docker-ce-20.10.7 \
  docker-ce-cli-20.10.7 \
  containerd.io-1.4.6

コマンド:

systemctl enable docker
systemctl start docker
  • Dockerサービスの停止

コマンド:

systemctl stop docker
  • Dockerの構成ファイルの設定
mkdir -p /etc/docker

DOCKER_IF_NAME=docker0
DOCKER_IF_ADDRESS=$(ip -4 address show ${DOCKER_IF_NAME} | grep inet | awk '{print $2}' | sed -e "s/\/[0-9]*$//")
DOCKER_LOCAL_REGISTRY=${DOCKER_IF_ADDRESS}:5000
cat <<EOF > /etc/docker/daemon.json
{
  "dns": ["8.8.8.8"],
  "insecure-registries": ["${DOCKER_LOCAL_REGISTRY}"]
}
EOF
  • Dockerサービスの開始
systemctl start docker

2.kubectlコマンドインストール

コマンド:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.21.2/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv -f ./kubectl /usr/local/bin

3.minikubeインストール

curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.21.0/minikube-linux-amd64
chmod +x minikube
install minikube /usr/local/bin
rm -f minikube

4.OSファイアーウォール停止

systemctl disable firewalld
systemctl stop firewalld

5.Kubernetes起動

コマンド:

systemctl restart docker

6.アドオン追加

/usr/local/bin/minikube config set insecure-registry ${DOCKER_LOCAL_REGISTRY}
/usr/local/bin/minikube start --vm-driver=none
/usr/local/bin/minikube addons enable ingress

今回のテーマは以上です。