티스토리 뷰
kubernetes 설치
설치 참고 원문 사이트
설치전 체크
iptables port 네트워크 확인 hostname 확인 swapoff -a 명령어 |
: 쿠바네티스 운영에서는 스왑이 오프되어 있어야고 하는데 그 이유는 아직 모르겠다.
환경
VirtualBox VM - 2CORE / 2G RAM Ubuntu 16.04 LTS 64BIT
|
: 테스트 결과로는 1CORE / 1G RAM 에서도 동작하는듯 한데 너무 느리면 사양을 올려주면 된다.
혹시나 헷갈릴수도 있으니 OS 설치후 아래와 같이 호스트 네임을 설정해줬다
서버1 : kubernates-master 서버2 : kubernates-node1
|
설치
# 스왑오프 swapoff -a # 도커 설치 apt-get update apt-get install -y docker.io # 쿠버네티스 설치 apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/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 kubectl
|
데몬 재시작
systemctl daemon-reload systemctl restart kubelet
|
마스터 노드에서 kubelet에서 사용하는 cgroup 드라이버 구성
# 도커 cgroup drive 확인 docker info | grep -i cgroup # /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 라인추가 Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs" or Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd" # cgroup driver 변경 sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
|
도커와 쿠버네티스의 cgroup 의 드라이버 구성이 맞지 않으면 아래와 같은 에러 발생
failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"
|
: 설치 및 데몬 재시작에서 별다른 에러 발생이나 로그가 없다면 cgroup 드라이버 설정은 SKIP 해도 될듯 하다.
마스터 초기화 하기
kubeadm init
|
example) : 초기화 할때 여러가지 옵션이 적용 가능함
kubeadm init --pod-network-cidr 192.168.0.0/16 --service-cidr 10.96.0.0/12 --service-dns-domain "k8s" --apiserver-advertise-address $(ifconfig eth0 | grep 'inet addr'| cut -d':' -f2 | awk '{print $1}')
output
# 쿠버네티스 설치 완료 Your Kubernetes master has initialized successfully! # 클러스터를 사용하려면 일반 사용자에서 아래 명령어 실행이 필요하다 To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config # 클러스터에 네트워크 배포가 필요하다 You should now deploy a pod network to the cluster. Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: https://kubernetes.io/docs/concepts/cluster-administration/addons/ # 아래 명령어로 노드에서 조인이 가능하다 You can now join any number of machines by running the following on each node as root: kubeadm join 마스터아이피:6443 --token pq00mz.q5fsi336qn5cpuyx --discovery-token-ca-cert-hash sha256:1045412e3139d5cb1b559909fa7d0d5e90eca06465ab8c9eb335eedc3e6417d9
|
네트워크 배포 예제
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml
|
: 위는 calico 라는 네트워크를 배포하는 명령어
[노드]
클러스터 조인
kubeadm join 마스터아이피:6443 --token pq00mz.q5fsi336qn5cpuyx --discovery-token-ca-cert-hash sha256:1045412e3139d5cb1b559909fa7d0d5e90eca06465ab8c9eb335eedc3e6417d9
|
: 클러스터 조인 명령어는 마스터 초기화 (kubeadm init) 시 출력되는 화면에서 볼수 있다.
output
# 노드가 클러스터에 조인되었다. This node has joined the cluster: * Certificate signing request was sent to master and a response was received. * The Kubelet was informed of the new secure connection details. Run 'kubectl get nodes' on the master to see this node join the cluster.
|
[마스터]
노드들이 제대로 조인되었는지 확인
kubectl get nodes |
output
NAME STATUS ROLES AGE VERSION kubernates-master NotReady master 19m v1.10.3 kubernetes-node1 NotReady <none> 6m v1.10.3 |
: 쿠버네티스 설치된 서버 사양에 따라 시간이 좀 걸리기도 한다
: NotReady 상태로 계속 머물러 있다면 마스터 네트워크 배포가 되지 않아서 않아서 그런 경우 일수 있다.
모든게 문제 없이 설치가 진행 되었다면 아래와 같은 메세지가 출력되어야 한다
NAME STATUS ROLES AGE VERSION kubernates-master Ready master 29m v1.10.3 kubernetes-node1 Ready <none> 16m v1.10.3 |
: STATUS 에 상태가 모두 Ready 라고 출력되어야 한다.
여기까지 진행하였으면 이제 부터 쿠바네티스를 사용 할 수 있도록 준비를 완료했다 라고 보면 될것 같다.
'container' 카테고리의 다른 글
docker ssh 설치 (0) | 2018.05.12 |
---|---|
docker network (mac_vlan) (0) | 2018.05.10 |
docker 이미지 만들기 (0) | 2018.05.10 |
docker command (0) | 2018.04.30 |
docker (0) | 2018.04.04 |
- Total
- Today
- Yesterday
- Apache
- WAF
- cURL
- 베이어다이나믹
- 인증서
- NGINX
- OpenVPN
- centOS7
- glusterfs
- iptables
- IPSEC
- 리눅스
- galera
- GeoIP
- mod_security
- php
- ssh
- softether
- gitlab
- centos8
- ntp
- L2TP
- yum
- virtualbox
- pptp
- MySQL
- kvm
- mariadb
- HAProxy
- SSL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |