공부/서버

😁데브옵스, 베스천서버, 쿠버네티스 - (2/3)

JangGiraffe 2023. 9. 14. 02:47

😁데브옵스, 베스천서버, 쿠버네티스 - 2

😭틀린부분은 지적 부탁드려요

content_copy
- 데브옵스, 베스천서버, 쿠버네티스 (1/2) : 데브옵스,쿠버네티스에 대해서
- ▶데브옵스, 베스천서버, 쿠버네티스 (2/3) : 베스천서버, 쿠버네티스 파드 모니터링 방법에 대해서
- 데브옵스, 베스천서버, 쿠버네티스 (3/3) : 우리회사의 서버 (베스천서버, 쿠버네티스 등) 아키텍처 (미공개)

😁 베스천(bastian) 서버, 베스천 호스트 ?

  • 베스천서버의 경우 내부(업무환경)과 외부 네트워크 사이에서 게이트웨이 역할이다.
  • 이는 보안 대책에 대한 일환으로 네트워크 공격에 대한 방어 역할을 수행한다.
  • 이 외에도 베스천 호스트를 통해 외부 애플리케이션 환경에 접속,관리를 할 수 있다.

 

😁 운영 중 서비스 모니터링(파드,노드 모니터링)

1. kubectl을 이용한 파드 모니터링 (설치 필요)

  • Kubernetes api를 사용해서 쿠너베티스 컨트롤 플레인과 통신하는 커멘드 라인 툴(또는 CLI)
  • 문법 (공식문서 참고 - https://kubernetes.io/ko/docs/reference/kubectl/)
    • kubectl [command] [type] [name] [flags]
      • command: 하나 이상의 리소스에서 수행하려는 동작을 지정한다. 예: create, get, describe, delete
      • TYPE: 리소스 타입을 지정한다. 리소스 타입은 대소문자를 구분하지 않으며 단수형, 복수형 또는 약어 형식을 지정할 수 있다. 예를 들어, 다음의 명령은 동일한 출력 결과를 생성한다.
      • NAME: 리소스 이름을 지정한다. 이름은 대소문자를 구분한다. 이름을 생략하면, 모든 리소스에 대한 세부 사항이 표시된다. 예: kubectl get pods
      • flags: 선택적 플래그를 지정한다. 예를 들어, -s 또는 --server 플래그를 사용하여 쿠버네티스 API 서버의 주소와 포트를 지정할 수 있다.
      • ex) kubectl get configMap ,kubectl get pod pod1 emdemd
  • linux의 watch 명령어를 실행해 쿠버네티스의 파드정보를 일정시간마다 갱신하게 할 수도 있다.
 
- linux watch : watch [OPTIONS] COMMAND
- watch -n 1 -d kubectl get pods
    -n은 초단위 반복 간격에 대한 정의 (1초마다 반복)
    -d는 명령어 갱신 시 변경되는점이 있으면 강조해주는 기능(색깔등으로)
    - kubectl get pods : kubectl명령어로 pods정보를 가져오기
 

 

명령어 결과 (watch -n 1 -d kubectl get pods)

Every 1,0s: kubectl get pods
NAME                                   READY   STATUS    RESTARTS   AGE
my-release-mariadb-0                   1/1     Running   0          4m8s
my-release-wordpress-ddd8857f6-66bcm   1/1     Running   0          4m8s

2. k9s를 이용한 파드 모니터링 (설치 필요)

  • k9s? - 쿠버네티스를 스타일리시하게 관리하는 CLI
    • 쿠버네티스(이하 k8s)와 상호작용하기 위한 터미널 기반 UI임.(kubectl을 내부에서 수행해준다고 생각하면 됨)
    • 쿠버네티스에 배포된 리소스(파드,노드,서비스)를 간단한 커맨드나 조작(방향키,엔터키 등)을 통해 실시간으로 확인이 가능함.(지속적으로 상태가 갱신됨)
    • 해당 리소스와 상호작용이 가능함(파드 describe, 해당 파드에 접속, 파드 킬 등)
    • 우리가 가장 많이 확인하게 될 파드 리스트 (이미지 출처는 공식홈)
        1. NAME : 파드명
        1. READY : 준비된 컨테이너 / 전체 컨테이너
        1. RESTART : 파드 재시작 횟수 (쿠버네티스 설정에 따라 자동으로 재시작함)
        1. STATUS : 파드 상태 (Running 상태만 서비스 가능)
        1. CPU/MEM : 현재 CPU사용량 / 메모리
        1. /R , /L
        • R : 현재 요청량 대비 파드 사용량을 백분율로 표기
        • L : 설정해준 최대 설정값을 백분율로 표기
        1. IP : 실제 IP 주소
        1. Node : 파드가 속해있는 노드 명(노드:파드는 1:N 으로 되어있음)
     
  • 주로 사용 단축키
    • d : 파드의 describe를 볼 때 사용
      • - 해당 명령어를 통해 설정파일을 볼 수 있과 이벤트를 볼 수 있는데, `이벤트`항목에서 해당 파드가 Running에 실패한 이유들을 찾을 수 있음.(해당 에러메시지를 보고 구글링해서 해결하는 식)
    • ctrl+k : 파드 kill 시 사용
    • 엔터 : 해당 파드에 접속하기 위해 사용
    • 이미지엔 없는데 help도 참고 가능
    • / :검색기능
     
    /pods : 파드 리스트 조회
    /nodes : 노드 리스트 조회
    /service : 서비스 리스트 조회
    /검색하고 싶은 텍스트 : 검색결과 조회
    

출처

반응형