gcp환경을 사용했습니다. 

 

쿠버설치

 

 

환경

  1. Master : 2코어 , 7.5GiB메모리, centos 7
  2. worker-node01 2코어 , 7.5GiB메모리, centos 7
  3. worker-node02 2코어 , 7.5GiB메모리, centos 7

 

 

<1. 도커 설치 >

모든 서버에 동일하게 설치 ( sudo su )

 

# yum install -y yum-utils

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

# yum install docker-ce docker-ce-cli containerd.io -y

# systemctl start docker && systemctl enable docker

# docker version

 

 

<2. Kubeadm, kubectl , kubelet 설치 >

모든 서버에 동일하게 설치

 

# swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab

 

#cat <<EOF > /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

 

# sysctl --system

 

# systemctl stop firewalld 

# systemctl disable firewalld

 

# setenforce 0

# sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

 

# cat <<EOF > /etc/yum.repos.d/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

exclude=kubelet kubeadm kubectl

EOF

 

# yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

# systemctl start kubelet && systemctl enable kubelet

 

# cat <<EOF>> /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

Net.ipv4.ip_forward = 1

EOF

 

#sysctl --system

 

#reboot

 

<3. 마스터 노드 구성 및 네트워크 환경 구성 >

마스터 노드에서만 실행

 

# kubeadm init

 

> 위에서 kubeadm init 했을때 나오는 kubeadm join token값 잘 메모

 

 

# mkdir -p $HOME/.kube

# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

#chown $(id -u):$(id -g) $HOME/.kube/config

 

 

이제 마스터노드에서 kubectl get nodes하면 마스터노드 잘 나옴

워커노드들을 연결해야함

 

아까 저장한 토큰을 워커노드 서버에 입력

 

Kubectl get nodes하면 모든 노드 연결완료

 

 

>> 여기까지 하고 kubectl get nodes하면 마스터 및 워커노드들이 나온다.

하지만 notready라고 다올텐데 서로 통신이 가능하도록 weave등을 설치 해줘야 서로 통신이 가능하다 

 

!!!마스터에만 설치 

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

 

 

이제 kubeclt get nodes하면 모두 Ready

 

마스터 및 워커노드 연결. 끝

+ Recent posts