본문 바로가기

ABTCEFG38

쿠버네티스 이론 STEP8 RBAC ABTCEFG♪ 안녕하세요, 여러분! BTC_김쿼카입니다. 이번 시간에는 쿠버네티스의 RBAC(Role-Based Access Control)에 대해 알아볼게요! RBAC 역할 기반으로 쿠버네티스 시스템의 권한 관리 API Server에서 제공하는 인가 방식 중 하나 - 어떤 역할(Role)이 어디서 무엇을 어떻게 하는가에 대해 정의함 Role 특정 API나 리소스(pod, deploy...), 사용 권한(get.list...)을 매니페스트 파일에 명시해둔 규칙의 집합 특정 네임스페이스에 대한 권한 관리 apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: default name: pod-reader rules: - apiGro.. 2022. 8. 29.
쿠버네티스 이론 STEP7 PV, PVC kubernetes는 스토리지 구성과 애플리캐이션 운영을 분리하여 적용할 수 있도록 지원한다. 인프라 관련 운영은 시스템 운영자가 구성하고, 애플리케이션 운영자(개발자)는 애플리케이션에 필요한 영구 스토리지를 요청만 하는 것으로 스토리지를 사용할 수 있도록 지원하는데 이것이 PV와 PVC이다. PV와 PVC는 컨트롤러 및 파드와 별개의 쿠버네티스 리소스이며, 파드의 생명주기와는 별도로 작동합니다. PV (Persistent Volume) 볼륨 그 자체 쿠버네티스 클러스터 외부 스토리지와 연결을 담당하는 리소스 파드와 별개로 관리되며 별도의 생명주기가 있음 PVC (Persistent Volume Claim) 사용자가 PV에 하는 요청 사용하고 싶은 용량은 얼마인지, 읽기/쓰기는 어떤 모드로 설정하고 싶은.. 2022. 8. 23.
쿠버네티스 이론 STEP6 Service (3) Ingress - 2 ABTCEFG♪ 안녕하세요, 여러분! BTC_뚜벅이입니다. 지난 주에 Ingress와 Ingress controller에 대한 개념에 대해 알아보았는데요. 이번 주는 Ingress와 Ingress controller를 구동해서 직접 확인해보는 시간을 가지도록 할게요~ 실습을 위해 EC2 위에 단일 클러스터를 구성해서 진행해볼게요. 로컬 가상머신 환경에서도 실습을 따라하실 수 있어요. 관련 보안그룹은 열어줘야 실습이 가능합니다! 오늘의 전체적인 순서는 아래와 같습니다. 1. helm chart를 이용해서 Ingress controller 설치 2. sslip 서비스 이용하여 DNS 얻기 3. 도메인 기반 라우팅 테스트하기 4. TLS 설정하기 1. helm chart를 이용해서 Ingress control.. 2022. 8. 23.
쿠버네티스 이론 STEP5 Service (3) Ingress - 1 ABTCEFG ~ ♪ 안녕하세요, 여러분. BTC_김쿼카입니다. 네트워크 트래픽는 Ingress와 egress로 구분되며, Ingress는 외부로부터 서버 내부로 유입되는 네트워크 트래픽을 의미합니다. 마찬가지로 쿠버네티스에서도 Ingress라는 이름의 리소스 오브젝트가 존재하는데요! 이번 시간에는 쿠버네티스의 Ingress에 대해 알아보는 시간을 가져보도록 할게요. 1. Ingress 쿠버네티스 서비스는 기본적으로 L4 레이어로 TCP 단에서 Pod를 로드밸런싱하는데요! MSA의 경우, 서비스가 하나의 URL로 대표되는 경우가 많습니다. MSA 서비스 간 라우팅을 하기 위해 API 게이트웨이를 넣는 경우가 많은데 URL 기반의 라우팅의 경우 L7 로드밸런서 정도로 라우팅이 가능하며, 이때 필요한 게 쿠.. 2022. 8. 18.
쿠버네티스 이론 STEP4 Service (2) LB, ExternalName 클러스터 외부 서비스인 LB와 ExternalName에 대해 알아보겠습니다. 쿠버네티스 클러스터에서 웹의 프론트엔드 서비스를 실행하는 파드일 경우 쿠버네티스 클러스터의 외부로 노출시켜 접근이 가능하도록 구성해야 합니다. 쿠버네티스 클러스터 외부에서 접근 가능한 서비스에 대해 알아 보겠습니다. Lb (Load Balance) Loadbalace + NodePort + ClusterIP 클러스터 외부의 로드 밸런서를 사용하여 외부에서 접근 가능 하도록 함. 외부 로드 밸런서로 접근하면 서비스를 통해 파드로 리다이렉션 함 CSP나 MetalLb에서 지원해 줌 클라우드의 관리형 쿠버네티스 서비스 or MetalLB를 사용하지 않는 경우, 외부 로드 밸런서가 프로비저닝 되지 않기 때문에 외부 IP 즉, LB IP.. 2022. 8. 5.
쿠버네티스 STEP3 Service, NodePort, ClusterIP ABTCEFG♪ 안녕하세요, 여러분! BTC_뚜벅이입니다. 이번 주부터 본격적으로 Service리소스에 대해 알아보는 시간을 갖도록 할게요. 1. Service는 왜 사용하는거지? 쿠버네티스 자체에도 Pod 생성할 때 네트워킹을 담당하도록 IP가 부여됩니다. 하지만 굳이 Service를 둬서 네트워크 통신을 담당하게 만드는 이유는 무엇일까요? Pod는 언제든지 종료될 수 있는 리소스로 생각하기 때문에 불안정한 서비스 Endpoint를 제공합니다. 이 때문에 끊임없이 Pod의 Ip를 추적해야 하는데 이럴 필요없이 Service는 안정적인 서비스 Endpoint를 제공하기 때문에 Service를 사용하여 네트워킹을 합니다. Service로 들어오는 트래픽을 Pod로 전달해주는 리버스 프록시와 같은 역할을 담.. 2022. 8. 5.
쿠버네티스 STEP1 run, YAML 쿠버네티스 클러스터를 컨트롤하기 위해 kubectl이라는 명령툴을 사용합니다. kubectl run 복제될 수 있는 특정 이미지를 만들고 실행하며 생성된 컨테이너를 관리하기 위한 배포 또는 작업을 생성합니다. kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...] YAML (선언형 명령 정의서) 쿠버네티스에 요청하려면 1.어떤 오브젝트를 사용할 지 2.상세설정을 YAML파일 형식으로 정의 해야 합니다. 어떤 텍스트에 어떤 에디터를 사용하든 상관없이 해당 형식에 맞기만 .. 2022. 7. 29.
쿠버네티스 STEP2 Pod & Deployment ABTCEFG♪ 안녕하세요, 여러분! BTC_김쿼카입니다. 쿠버네티스 명령어를 잘 사용하기 위해서라면 기본 개념을 알아두는 것이 좋겠죠? 쿠버네티스의 가장 기본이 되는 Pod에 대해서 간단하게 알아볼게요! 1. Pod kubernetes의 최소 실행 단위 스토리지 및 네트워킹 리소스를 공유하는 단일 컨테이너 또는 관련 컨테이너 그룹 (상황에 따라 2개) Pod 내에 실행되는 컨테이너는 동일한 노드에 할당되며 동일한 생명 주기를 가짐 고유의 IP를 할당받고 Pod 안의 컨테이너들은 서로 IP를 공유함 쿠버네티스의 모든 리소스는 YAML 형태의 선언형 명령 정의서로 표현될 수 있는데 이때 아래의 명령어 사용 시 Pod를 실제로 생성하지 않고도 템플릿 파일을 생성할 수 있다는 점 참고해주세요 kubectl r.. 2022. 7. 20.