Container/Kubernetes

이전글: https://lilylabs.tistory.com/48 Secret 데이터 암호화를 위해서는 EncryptionConfiguration Object 생성과 kube-apiserver 설정 작업이 필요합니다. 자세한 내용은 하기 본문에 정리하였습니다. [Kubernetes] Secret 생성 및 조회1. Secret 이란?Secret은 암호, 토큰 또는 키와 같은 중요한 데이터를 포함하는 오브젝트이다.Secret은 기본적으로 ETCD에 저장되며, K8s API Server를 통해 파드 내 컨테이너로 전달된다. 기본적으로 API 서lilylabs.tistory.com 1. EncryptionConfiguration Object 생성1-1. EncryptionConfiguration란?이전글: ht..
1. Secret 이란?Secret은 암호, 토큰 또는 키와 같은 중요한 데이터를 포함하는 오브젝트이다.Secret은 기본적으로 ETCD에 저장되며, K8s API Server를 통해 파드 내 컨테이너로 전달된다. 기본적으로 API 서버의 기본 데이터 저장소인 ETCD에 암호화되지 않은 상태로 저장된다.이에, API 또는 ETCD에 접근할 수 있는 모든 사용자는 시크릿을 조회하거나 수정할 수 있다.2. Secret 생성 및 조회2-1. Secret 생성생성한 Secret 값을 확인해 보면 Secret은 base64로 인코딩만 되고 암호화되지 않는 것을 확인할 수 있다.# Secret 생성kubectl create secret generic secret01 --from-literal username=adm..
1. ConfigMap, Secret 이란?ConfigMap, Secret은 Kubernetes 클러스터의 기본 개체로서, 파드 내에서 참조할 환경변수를 생성하는 리소스이다.각 리소스마다 특성과 사용 목적이 다르다.Kubernetes RBAC에 연결되어 승인된 사용자와 애플리케이션만 ConfigMap, Secret의 정보를 읽을 수 있다.ConfigMap 소개Secret 소개1-1. ConfigMapConfigMap은 키-값 쌍으로 기밀이 아닌 데이터를 저장하는 데 사용하는 API 오브젝트이다. 파드는 볼륨에서 환경 변수, 커맨드-라인 인수 또는 구성 파일로 ConfigMap을 사용할 수 있다.ConfigMap은 데이터를 평문으로 저장하며 보안 또는 암호화를 제공하지 않는다.저장하려는 데이터가 기밀인 경..
1. 개념 설명1-1. KubesprayKubespray는 Kubernetes 클러스터를 배포하고 관리하기 위한 오픈 소스 도구이다.Ansible의 playbook과 inventory 설정을 통해서 Kubernetes 클러스터를 설정한다.AWS, Azure, GCP, OpenStack, VMware 등 다양한 플랫폼을 지원한다. Ansible은 ssh를 사용하여 개별 노드에 접속 하지 않고 원격 설치 및 클러스터 구성이 가능하다.1-2. Ansible인프라 프로비저닝, 애플리케이션 배포 및 구성 관리 등을 위한 대표적인 IaC 도구이다.Ansible은 YAML 형식을 사용하여 Playbook이라고 불리는 구성 파일을 작성한다.Inventory: Ansible은 대상 호스트 그룹을 정의하기 위해 인벤토리 ..
1. ELK Stack 이란?ELK는 오픈소스 프로젝트인 Elasticsearch, Logstash, Kibana의 약어로 로그 수집, 저장, 분석 및 시각화를 제공한다.ELK Stack은 ELK에서 Beats라는 경량화된 데이터 수집 모듈까지 추가한 형태이다.Prometheus는 주로 메트릭을 모니터링하는 데 사용되는 반면, ELK Stack은 주로 애플리케이션 로그를 수집, 저장, 분석 및 시각화하는 데 사용한다.요약하면 Beats와 Logstash는 데이터 수집 및 처리를 담당하고, Elasticsearch는 데이터를 인덱싱하고 저장하며, Kibana는 데이터를 쿼리하고 시각화하기 위한 사용자 인터페이스를 제공한다.1-1. beatsBeats란 오직 데이터의 수집만을 담당하는 경량화된 모듈이다.Be..
1. probe란? Kubernetes probe는 Kubernetes에서 컨테이너 상태를 모니터링하고 관리하기 위한 도구이다. Probe는 컨테이너의 상태를 확인하고 문제가 발생했을 때 Kubernetes가 적절히 대응할 수 있도록 도와준다. probe는 kubelet에 의해 주기적으로 진단을 수행한다. kubelet: worker node에 있는 agent로 maser node의 kubernetes-api와 통신하며 실제로 contianer runtime에 배포를 명령하는 역할을 한다. (kubelet: 선장, worker node: 배) 2. probe 종류 2-1. Liveness Probe Liveness Probe는 컨테이너에서 실행 중인 애플리케이션이 healthy 상태인지 확인한다. 만약 ..
1. Istion 구성 Istio는 Kubernetes CRD(Kubernetes API의 extension)를 사용하기 때문에 Kubernetes yaml 파일로 구성할 수 있다. 서비스 간 통신을 위한 기본 CRD: Virtual Service, Destination Rule Virtual Service: 어느 서비스로 트래픽을 라우팅할지 결정 Destination Rule: 트래픽을 어떻게 보낼지 정의 (EX: 서킷브레이킹, 트래픽 미러링, 트래픽 시프팅 등) 2. Istion Traffic Flow CRD 생성 Istio는 고수준 라우팅 규칙을 Envoy 특정 구성으로 변환 구성은 프록시 사이드카로 전파 프록시들은 Istio Control Plane에 연결하지 않고도 통신 가능 프록시들은 요청에 ..
1. MSA 소개 1-1. MSA (MicroService) 이란? 1개의 시스템을 독립적으로 배포 가능한 각각의 서비스로 분할합니다. 각각의 서비스는 API를 통해 데이터를 주고받으며 1개의 큰 서비스를 구성한다. MSA 방식으로 구성하면 일부 서비스에 장애가 발생하여도 전체 서비스에 장애가 발생하지 않는다. 또한 각각의 서비스들은 서로 다른 언어와 프레임워크로 구성할 수 있다. 하기 이미지와 같이 온라인 구매 사이트를 만들 때 결제, 재고, 장바구니 페이지 등으로 서비스를 분할하여 구성한다. 1-2. Service Mash를 사용하지 않을 경우 서비스 메쉬 없이 각 마이크로서비스는 서비스 간 커뮤니케이션을 통제하는 로직으로 코딩해야 하기 때문에 개발자들이 비즈니스 목표에 집중하지 못하게 된다. A 서..
1. 모니터링 도구 소개 1) Prometheus SoundCloud사에서 만든 메트릭 기반의 오픈소스 모니터링 시스템다. 프로메테우스는 메트릭을 시계열 데이터로 수집하고 저장한다. RDB 대신 메트릭 이름과 key-value 쌍으로 식별되는 다차원 데이터 모델을 사용한다. 이에, 많은 양의 정보를 빠르게 검색할 수 있다. 2) Grafana 시계열 매트릭 데이터를 시각화 하는데 가장 최적화된 대시보드를 제공해주는 오픈소스 툴킷이다. 사용자가 하나의 대시보드로 통합된 차트와 그래프를 통해 데이터를 확인할 수 있어 데이터를 손쉽게 해석하고 이해할 수 있다. 2. Prometheus & Grafana 설치 1) Helm 설치 Helm 설치 사이트 # Apt (데비안/우분투) curl https://balto..
1. Linux 노드에 대한 대화형 셸 연결 1) 하기 명령어로 접근하고자 하는 Node의 이름을 확인한다. kubectl get nodes 2) 하기 명령어로 노드에서 컨테이너 이미지를 실행하여 연결한다. 해당 Pod는 노드에 대한 액세스를 제공한다. kubectl debug node/aks-nodepool1-37663765-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0 3) chroot /host 명령어를 입력하여 root 권한으로 Node에 접근한다. 4) exit 명령어로 대화형 셸 세션을 종료하는 명령을 입력한다. 5) 대화형 컨테이너 세션이 닫히면 kubectl delete pod 명어를 통해 노드 접속에 사용된 Pod를 삭..
pepe_
'Container/Kubernetes' 카테고리의 글 목록