쿠버네티스 DAY2

vinnnda·2024년 1월 9일
0

쿠버

목록 보기
2/2
post-thumbnail

helm

  • chart
    • helm 패키지
    • 쿠버네티스 클러스터 내에서 어플리케이션, 도구, 서비스 구동에 필요한 모든 리소스 정의
    • 설치될 때마다 release 생성
  • 저장소
    • chart를 모아두고 공유하는 곳
  • 릴리즈
    • 쿠버네티스 클러스터에서 구동되는 차트의 인스턴스
    • 동일 클러스터 내에 반복 설치 가능, 매번 새로운 릴리즈 생성

helm 설치하기 + 권한부여
helm사이트https://helm.sh/docs/intro/quickstart/


nginx 탐색하기

values.yaml에 변수가 저장되어있음

아파치 패키지 설치하기
helm홈페이지에서 apache 검색 후 해당 패키지 설치

상태확인가능

구동확인

nginx 패키지 설치하기
helm홈페이지에서 nginx 검색 후 패키지 설치

상태 확인하기

nginx페이지 확인

실습: 프로메테우스 + 그라파나 서버 구축 모니터링 시스템 구축하기

namespace : profana
helm패키지 설치하기
LoadBancer type으로 지정

profana라는 네임스페이스 먼저 만들기

helm repo prometheus 받아오기
(사이트 참고)

namespace profana에 helm install하기
이름 : prometheus

설정파일 참고해서 포트포워딩까지 설정

프로메테우스 웹페이지 확인가능

그라파나 홈페이지 참고

value.yml로 loadbalancer설정하기

helm install

사이트확인 (설정파일에 있는 password를 참고하여 admin으로 로그인하기)
password확인 명령어

로그인 완료화면

data prometheus로 선택후 주소삽입

그후 대시보드 import하기

pod에 node export가 있으므로 node export 대시보드로 선택함

id삽입후 로드

프로메테우스 연결후 임포트

확인

서비스 정리

참고사이트 https://velog.io/@hoonki/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%84%9C%EB%B9%84%EC%8A%A4ClusterIP-NodePort-LoadBalancer%EC%99%80-%EC%9D%B8%EA%B7%B8%EB%A0%88%EC%8A%A4
Pod

  • 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위
  • 파드 자체는 일반적으로 1개의 IP, 파드는 노드 IP와 별개로 고유 IP

1. Cluster IP

  • 쿠버네티스에서 서비스는 파드 집합에서 실행되는 애플리케이션을 노출하는 추상적인 방법
  • 클러스터 안에 있는 다른 Pod들이 접근할 수 있도록 IP를 할당한다. 내부 IP만을 할당
  • 클러스터 전체에 걸쳐, 모든 서비스의 ClusterIP는 항상 고유해야 한다. 이미 할당된 특정 ClusterIP로 서비스를 생성하려고 하면 에러가 발생함, 외부에서 접근이 불가능

2. NodePort

  • 고정 포트로 Pod이 배포된 노드들의 IP에 서비스를 노출
  • 내부 및 외부에서 NodePort 서비스 접근가능하다

3. LoadBalancer

  • 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템, 증가한 트래픽에 대처할 수 있음
  • 서비스를 외부에 노출시키는 표준 방법
  • 로드밸런서는 따로 물리 장비(컴퓨터)가 필요한데, 클라우드 컴퓨팅 환경에서는 벤더사가 제공하는 로드밸런서를 사용


그림출처
https://has3ong.github.io/computer%20science/loadbalancing/

  • scale up
    서버에 CPU나 RAM 등을 추가하거나 고성능의 부품, 서버로 교환하는 방법

  • scale out
    서버를 여러 대 추가하여 시스템을 확장하는 방법. 각 서버에 걸리는 부하를 균등하게 해주는 Load Balancing 이 필수적으로 동반

0개의 댓글