https://static.googleusercontent.com/media/research.google.com/ko//pubs/archive/43438.pdf

https://static.googleusercontent.com/media/research.google.com/ko//pubs/archive/44843.pdf

https://static.googleusercontent.com/media/research.google.com/ko//pubs/archive/45406.pdf

http://www.oreilly.com/webops-perf/free/kubernetes.csp

'Cloud > Kubernetes' 카테고리의 다른 글

[Kubernetes] AWS에 Kubernetes 설치하기  (0) 2017.07.13

https://kubernetes.io/

Kubernetes 관련 자료는 위 링크에 있습니다.(공식사이트)


Kubernetes를 설치하고 테스트 하는 것이 이번 포스팅의 목표입니다.

AWS EC2 Ubuntu 16.04 LTS를 이용해 설치 했습니다.


1. 우선 Docker의 설치가 필요합니다. 

sudo apt-get update
sudo apt-get install docker.io
sudo docker run hello-world

위 처럼 실행하면 Docker가 설치된 뒤, 

docker에서 "hello-world" docker image를 다운로드해 실행시켜 줍니다.


2. 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
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

다음처럼 치면 Kuberctl 최신 stable 버전을 설치하게 됩니다.


제대로 설치 되었는지 확인하려면 

kubectl version

다음처럼 client 버전이 뜹니다.(제 경우에는 1.7.6버전이 설치되었습니다.)


3. Kubelet, Kubeadm 설치

sudo -i
apt-get update && apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat </etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm

이런 식으로 kubelet과 kubeadm을 설치해 줍니다.


4. Kubeadm으로 Cluster 생성

kubeadm init

위 처럼 뜬다면 성공입니다.


※다음 명령어는 root권한이 아닌 일반 사용자가 사용할 수 있도록 설정 파일을 옮기는 명령어입니다.

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config


4. Pod 간의 네트워크를 위한 addon 설치

kubectl apply -f https://raw.githubusercontent.com/projectcalico/canal/master/k8s-install/1.6/rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/projectcalico/canal/master/k8s-install/1.6/canal.yaml

Pod 간의 네트워크를 위한 addon이 여러가지가 있는데 전 canal을 사용했습니다.


5.  Master Isolation

원래 Master에는 Pod이 스케줄링되지 않습니다.
하지만 하나의 노드에서 Test를 위해 Master에서도 Pod이 스케줄링 될 수 있도록 설정해 줍니다.

kubectl taint nodes --all node-role.kubernetes.io/master-


위 명령어를 실행시키면 아래처럼 나옵니다.

Kubectl version 명령어를 통해 제대로 연결된 것을 보실 수 있습니다.


이처럼 Kubernetes를 설치했고, 다음은 App을 Deploy하고, Autoscale 하는 법을 정리하겠습니다.

'Cloud > Kubernetes' 카테고리의 다른 글

Kubernetes 논문  (0) 2017.11.17

+ Recent posts