KINDでkubernates検証環境を作る(AWS EC2)

2019/11/25

KINDを使えば簡単にkubernatesの検証環境を構築できる。
AWSのEC2でCentOS7をターゲットにして環境構築した。
以下と同じAMIを使用すれば基本的にこの手順のまま構築できるはず。

CentOS Linux 7 x86_64 HVM EBS ENA 1901_01-b7ee8a69-ee97-4a49-9e68-afaee216db2e-ami-05713873c6794f575.4
(ami-045f38c93733dd48d)

[1]Docker Install

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager –enable docker-ce-edge
sudo yum-config-manager –enable docker-ce-test
sudo yum makecache fast
yum list docker-ce –showduplicates | sort -r
sudo yum install docker-ce-18.03.1.ce-1.el7.centos
sudo systemctl enable docker
sudo gpasswd -a $USER docker

sudo systemctl start docker
systemctl status docker

sudo systemctl restart docker
=>再ログイン

[2]KIND Install

(参考)
https://kubernetes.io/docs/tasks/tools/install-kubectl/
https://kind.sigs.k8s.io/docs/user/quick-start

(1)change hostname (maybe optional)———-

sudo hostnamectl set-hostname kube-master

sudo vi /etc/hosts
192.168.3.36 doc01

(2)kubectl install—————-

cd /etc/yum.repos.d/

sudo vi kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

sudo yum install -y kubectl

(3)golang install—————

sudo yum install epel-release
sudo yum install -y golang

(4)kind install—————

GO111MODULE=”on” go get sigs.k8s.io/kind@v0.5.1

export PATH=$PATH:/home/centos/go/bin/

vi .bash_profile
追加=> PATH=$PATH:/home/centos/go/bin/

(5)make cluster————–
kind create cluster –name k8scluster
export KUBECONFIG=”$(kind get kubeconfig-path –name=”k8scluster”)”※インストールの最後に表示されるコマンドをそのまま実行

kind get clusters
kind get kubeconfig-path

(kind delete cluster クラスターをデリートする)
(unset KUBECONFIG 環境変数を削除する)

(6)Try to use

vi kind-config.yml
# three node (two workers) cluster config
kind: Cluster
apiVersion: kind.sigs.k8s.io/v1alpha3
nodes:
– role: control-plane
– role: worker
– role: worker

kind create cluster –config kind-config.yml –name k8scluster

kubectl run nginx –image nginx –replicas 2