반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- @Setter
- 정렬
- Java
- 커링
- 모던 자바 인 액션
- 고차원 함수
- 해시
- kubenetes
- 스프링 스케쥴러
- 루씬 인 액션
- 완주하지 못한 선수
- 가장 큰 수
- H-index
- @Getter
- 전화번호 목록
- @configuration
- 검색 기능 확장
- 코딩 테스트
- @Data
- @EnableScheduling
- 스택/큐
- 롬복 어노테이션
- 쿠버네티스
- 영속 자료구조
- 프로그래머스
- 알고리즘
- 크론 표현식
- 다리를 지나는 트럭
- K번째수
- 기능개발
Archives
- Today
- Total
Today I Learned
[쿠버네티스 인 액션] 2. 도커와 쿠버네티스 첫걸음 (2) 본문
728x90
2.2 쿠버네티스 클러스터 설치
- 도커에서 직접 실행하는 대신 쿠버네티스 클러스터에 배포할 수 있다.
- 쿠버네티스 클러스터 설치에 관한 자세한 설명은 http://kubernetes.io 문서에 있다.
- 여기서는 로컬 머신에 단일 노드 쿠버네티스 클러스터를 싱행하는 방법과 구클 쿠버네티스 엔진에 실행중인 클러스터에 접근하는 방법을 다룬다.
2.2.1 Minikube를 활용한 단일 노드 쿠버네티스 클러스터 실행하기
- Minikube - 로컬에서 쿠버네티스를 테스트하고 애플리케이션을 개발하는 목적으로 단일 노드 클러스터를 설치하는 도구
Minikube 설치
- 설치를 위해서는 Minikube GitHub 리포지터리에 있는 설명을 따른다.
- 실습 환경이 mac os라서 다음 명령어로 설치함
$brew install minikube
MiniKube로 쿠버네티스 클러스터 시작하기
- 클러스터를 시작하는데 1분 이상 걸리므로 완료되기 전에 중단해선 안된다.
쿠버네티스 클라이언트 설치하기
- 쿠버네티스를 다루려면 kubectl CLI 클라이언트가 필요하다.
- 각 OS에 맞게 kubectl를 설치한다.
- brew install minikube로 Minikube를 설치했다면 함께 설치된다.
클러스터 작동 여부 확인과 kubectl로 사용하기
- kubectl cluster-info 명령어를 사용해 클러스터가 정상 작동하는지 확인할 수 있다.
2.2.2 구글 쿠버네티스 엔진을 활용한 관리형 쿠버네티스 클러스터 사용하기
- 관리형 구글 쿠버네티스 엔진인 GKE 클러스터를 사용하면 완전한 다중 노드 쿠버네티스 클러스터를 살펴볼 수 있다.
- GKE와 같은 관리형 솔루션을 사용하면 클러스터 노드와 네트워킹을 수동으로 설정할 필요가 없어 부담을 줄일 수 있다.
구글 클라우드 프로젝트 설정과 필요한 클라이언트 바이너리 다운로드
- 쿠버네티스 클러스터를 생성하기 전에 먼저 GKE 환경을 설정해야 한다.
- 자세한 설명은 https://cloud.google.com/kubernetes-engine/docs/deploy-app-cluster의 안내를 따른다.
- 설정을 완료하면 web console에서 gcloud를 사용할 수 있다.
- 로컬에서 gcloud를 사용하고자 한다면 https://cloud.google.com/sdk/docs/install-sdk의 안내를 따른다.
노드 세 개를 가진 쿠버네티스 클러스터 생성
- 다음과 같이 노드 세 개를 가진 쿠버네티스 클러스터를 생성할 수 있다.
$gcloud container clusters create kubia --num-nodes 3
클러스터 개념 이해하기
- 각 노드는 도커, Kubelet, kube-proxy를 실행한다.
- Kubectl 클라이언트 명령어는 마스터 노드에서 실행중인 쿠버네티스 API 서버로 REST 요청을 보내 클러스터와 상호작용한다.
클러스터 노드를 조회해 클러스터 동작 상태 확인하기
- kubectl 명령어로 모든 종류의 쿠버네티스 오브젝트를 조회할 수 있다.
오브젝트 세부 정보 가져오기
- 오브젝트에 대한 상세정보는 kubectl describe 명령을 사용할 수 있다.
- 출력결과는 CPU와 메모리, 시스템 정보, 노드에 실행중인 컨테이너 등을 포함한 노드 상태를 보여준다.
kubectl describe node gke-kubia-default-pool-b180865c-1n93
2.2.3 kubectl의 alias와 명령줄 자동완성 설정하기
별칭 설정하기
- kubectl 명령어에 k와 같이 짧은 별칭을 추가하면 간단하게 명령어를 입력할 수 있다.
- 다음 행을 ~/.bashrc나 이에 준하는 파일에 추가한다.
alias k=kubectl
kubectl의 탭 완성 설정하기
- 탭 완성 기능을 활성화하면 다음과 같이 입력할 수 있다.
$kubectl desc<TAB> no<TAB> gke-ku<TAB>
- bash에서 탭 완성을 활성화하려면 먼저 bash-completion 패키지를 설치하고 다음 명령어를 실행한다.
$source <(kubectl compltion bash)>
- 주의할 점은 탭 완성은 전체 kubectl 이름을 사용할때만 동작한다는 것이다. 이 문제를 해결하려면 kubectl 완성 명령의 출력을 일부 변경해야한다.
$source <(kubectl completion bash | sed s/kubectl/k/g)
728x90
Comments