devlos
Devlos Archive
devlos
전체 방문자
오늘
어제
12-10 07:10

최근 글

  • 분류 전체보기 (107)
    • 프로젝트 (1)
    • MSA 설계 & 도메인주도 설계 (9)
    • 클라우드 컴퓨팅 & NoSQL (87)
      • [Cilium Study] 실리움 스터디 (8)
      • [KANS] 쿠버네티스 네트워크 심화 스터디 (12)
      • [T101] 테라폼 4기 스터디 (8)
      • [CICD] CICD 맛보기 스터디 (3)
      • [T101] 테라폼 기초 입문 스터디 (6)
      • [AEWS] Amazon EKS 워크숍 스터디 (7)
      • [PKOS] 쿠버네티스 실무 실습 스터디 (7)
      • Kubernetes (13)
      • Docker (7)
      • Redis (1)
      • Jenkins (3)
      • Terraform (1)
      • Ansible (4)
      • Kafka (1)
    • 프로그래밍 (7)
      • Spring Boot (5)
      • Broker (1)
    • 성능과 튜닝 (1)
    • ALM (0)
    • 기타 (2)

인기 글

태그

  • 쿠버네티스 스터디
  • 도커
  • docker
  • MSA
  • 쿠버네티스
  • t101 4기
  • DevOps
  • 테라폼
  • 데브옵스
  • PKOS
  • CloudNet@
  • cilium
  • terraform
  • Kubernetes
  • kOps

티스토리

최근 댓글

hELLO · Designed By 정상우.
devlos

Devlos Archive

쿠버네티스(Kubernetes) 공식 튜토리얼 #3
클라우드 컴퓨팅 & NoSQL/Kubernetes

쿠버네티스(Kubernetes) 공식 튜토리얼 #3

2021. 4. 1. 22:04
반응형

이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 2단계를 실습해 보도록 한다.

2021.04.01 - [분류 전체보기] - 쿠버네티스( Kubernetes) 공식 튜토리얼 #2

 

쿠버네티스( Kubernetes) 공식 튜토리얼 #2

이번 포스팅에서는 지난 포스팅에서 소개했던 쿠버네티스 공식 튜토리얼 2021.03.31 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스( Kubernetes) 공식 튜토리얼 #1 쿠버네티스( Kubernetes) 공식 튜토리얼 #1 쿠버

devlos.tistory.com

튜토리얼 모듈 2는 쿠버네티스에 App을 deploy 하는 기능에 대한 것이다.


1. kubectl version 클릭

$ kubectl version

 

다음으로 kubectl의 버전을 확인하는 명령어를 실행한다.

 

kubectl version 실행결과

 

kubectl을 실행하여 쿠버네티스가 동작하고 있는 상황을 확인했다.


2. kubectl get nodes 실행

$ kubectl get nodes

 

kubectl get nodes를 사용하여 현재 하나의 minikube 노드가 ready상태에 있는 것을 확인할 수 있다.

 

kubectl get nodes 실행결과


3. kubectl create deployment ... 실행

$ kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1

다음의 명령어어는 도커 이미지를 이용하여 애플리케이션을 배포하는 것을 의미한다.

 

튜토리얼에서 deploy한 이미지는 kubernetes-bootcamp 버전 1이다. 이 이미지가 무엇을 하는 것인지는 잘 모르겠지만, 이 이미지에 있는 앱이 deploy 된다. 

 

이 이미지는 다음의 링크에 저장되어있다. 링크

 

Google Cloud Platform

 

console.cloud.google.com

 

만약 nginx 이미지를 이용하여 deploy를 한다면 다음처럼 명령어를 실행하면 된다. (튜토리얼에서는 동작하지 않는다.)

$ kubectl create deployment nginx --image=nginx

 

실행 결과는 다음과 같다.

 

$ kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 실행결과

이렇게 튜토리얼을 통해 첫번째 애플리케이션을 deploy 하는 데 성공했다.


4. kubectl get deployments 실행

$ kubectl get deployments

 

다음의 명령어를 이용해서 현재 deploy된 인스턴스를 확인한다.

 

kublet get deployments 실행결과


5. Kubectl proxy 실행

$ echo -e "\n\n\n\e[92mStarting Proxy. After starting it will not output a response. Please click the first Terminal Tab\n"; 
kubectl proxy

다음의 명령어 중에서 중요한 부분은 kubectl proxy이다.

Proxy는 쿠버네티스 서비스 네트워킹을 담당한다.

 

echo는 문구 출력을 위함이고 \e[92m는 터미널에 출력하는 문구를 초록색으로 변경하는 코드이다.

 

즉 Proxy를 시작하고 있는데 응답을 주지 않을 테니까 첫 번째 터미널로 돌아가라는 내용을 출력하고 proxy를 실행한다.

 

Kubectl proxy 실행결과

이 명령어를 실행하면 현재 터미널과 쿠버네티스 클러스터가 연결된 것을 확인할 수 있다.

 

 

 

Proxy를 이용하면 터미널에서 API에 직접 접근이 가능하다.


6. CURL 명령어를 이용하여 Host 연결

$ curl http://localhost:8001/version

curl http://localhost:8001/version 실행 결과

CURL 명령어를 이용하여 호스트의 버전을 확인했다.

 

API 서버는 자동적으로 각 pod의 이름으로 endpoint를 생성한다.

 

이 모든 pod들은 proxy를 통해 연결 가능하다.


7. pod 이름 얻기

$ export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
echo Name of the Pod: $POD_NAME

POD_NAME export 결과

 

다음 명령어는 pod의 정보를 이용하여 POD_NAME을 만드든 후에 만들어진 이름을 확인하는 기능을 실행한다.

 

지금까지 실습한 내용은 kube-proxy를 사용하여 다른 인스턴스에 접근하는 것이다.

다음 튜토리얼 모듈에서 설명하는 서비스를 이용하면 프락시를 사용하지 않고도 접근이 가능하다고 한다.

 

다음 포스팅에서는 3번째 튜토리얼인 "앱 조사하기" 진행 내용을 정리해 보려고 한다.


참고자료

[1] kubernetes.io | Kubernetes Tutorial | 링크

 

튜토리얼

운영 수준의 컨테이너 오케스트레이션

kubernetes.io

[2] 15단계로 배우는 도커와 쿠버네티스 | 타카라 마호 | 2020.10 | 링크

 

15단계로 배우는 도커와 쿠버네티스 - 교보문고

이 책은 컨테이너 기술에 처음 입문하는 독자도 체계적으로 실력을 쌓아갈 수 있도록 도커부터 시작하여 쿠버네티스의 전반적인 기능을 기초부터 단계별로 학습할 수 있도록 구성되어 있다. 독

www.kyobobook.co.kr

 

반응형

'클라우드 컴퓨팅 & NoSQL > Kubernetes' 카테고리의 다른 글

쿠버네티스(Kubernetes) 공식 튜토리얼 #5  (0) 2021.04.03
쿠버네티스(Kubernetes) 공식 튜토리얼 #4  (0) 2021.04.02
쿠버네티스( Kubernetes) 공식 튜토리얼 #2  (0) 2021.04.01
쿠버네티스( Kubernetes) 공식 튜토리얼 #1  (0) 2021.03.31
쿠버네티스 컴포넌트(component)  (0) 2021.03.30
    devlos
    devlos
    안녕하세요, Devlos 입니다. 새로 공부 중인 지식들을 공유하고, 명확히 이해하고자 블로그를 개설했습니다 :) 여러 DEVELOPER 분들과 자유롭게 지식을 공유하고 싶어요! 방문해 주셔서 감사합니다 😀 - DEVLOS -

    티스토리툴바