클라우드,가상화 16

k8s - Secret

k8s에서 기밀 정보를 별도 리소스에 정의하고 파드에서 읽어들일 수 있는 시크릿에 대해 정리합니다. ※ 시크릿을 정의하고 있는 매니페스트는 base64로 인코드되어 있지만 암호화되어 있지 않아 매니페스트를 깃 저장소 등에 업로드하는 것은 불가능. 이러한 문제를 해경하기 위해 시크릿이 정의된 매니페스트를 암호화하는 kubesec/SealedSecret/ExternalSecret 같은 오픈 소스 소프트웨어도 있음. 시크릿 분류종류개요Opaque일반적인 범용 용도kubernetes.io/tlsTLS 인증서용kubernetes.io/basic-auth기본 인증용kubernetes.io/dockerconfig/json도커 레지스트리 인증 정보용kubernetes.io/ssh-authSSH 인증 정보용kuberne..

k8s - DemonSet

DemonSet? DemonSet은 각 노드에 파드를 하나씩 배치. ※ replicaset은 각 kubernetes node에 총 N개의 파드를 노드의 리소스 상황에 맞게 배치. ※ demonset은 repica 수를 지정할 수 없고 하나의 노드에 두 개의 파드를 배치할 수도 없음. ※ demonset은 모니터링이나 로그 전송과 같은 용도로 많이 사용. DemonSet 특징 - demonset은 파드를 배치하고 싶지 않은 노드가 있을 경우 nodeSelector나 노드 anti pod affinity를 사용한 스케줄링으로 예외 처리 할 수 있음. ※ anti pod affinity: inter pod affinity 와는 반대로 특정 파드와 함께 배포되는 것을 피하도록 배포될 노드를 결정. - kuber..

k8s - ClusterIP

ClusterIP ? ClusterIP 서비스는 쿠버네티스의 가장 기본이 되는 서비스. ClusterIP 서비스를 생성하면 쿠버네티스 클러스터 내부에서만 통신 가능한, Internal Network에 생성되는 가상 IP가 할당된다. 따라서 ClusterIP라고 불림. ClusterIP와 통신은 각 노드상에서 실행중인 시스템 구성 요소 kube-proxy가 파드로 전송을 실시. ClusterIP는 쿠버네티스 클러스터 외부에서 트래픽을 수신할 필요가 없는 환경에서 클러스터 내부 로드 밸런서로 사용. 기본적으로 쿠버네티스 API에 접속하기 위한 Kubernetes 서비스가 생성되어 있고, ClusterIP가 발급되어 있음. ClusterIP 서비스 생성 다음의 매니페스트로 ClusterIP 서비스를 생성. s..

k8s - kubernetes 클러스터 네트워크와 서비스

개요 파드 내부의 컨테이너 통신과 파드 외부의 컨테이너 간 통신. 쿠버네티스 클러스터 내부에 구축된 파드 네트워크 파드에 트래픽 로드 밸런싱 - 서비스는 수신한 트래픽을 여러 파드에 로드 밸런싱하는 기능을 제공. - 파드는 기동될 때마다 각각 다른 IP 주소를 할당받기 때문에 로드 밸런싱하는 구조를 자체적으로 구현하려면 각 파드의 IP 주소를 매번 조회하거나 전송 대상의 목적지를 설정해야 함. - 서비스를 사용하면 여러 파드에 대한 로드 밸런싱을 자동으로 구성할 수 있음. - 서비스는 로드 밸런싱의 접속 창구가 되는 앤드포인트도 제공.(외부 로드 밸런서가 할당하는 가상 IP 주소나 클러스터 내부에서만 사용할 수 있는 가상 IP 주소 등 여러 가지 종류를 제공.) sample-deployment.yaml ..

k8s - Deployment

Deployment? deployment는 여러 replicaSet을 관리하여 롤링 업데이트나 롤백 등을 구현하는 리소스. deployment가 replicaSet을 관리하고 replicaSet이 pod를 관리하는 관계. 다음 순서로 동작 1. 신규 replicaset을 생성 2. 신규 replicaset의 replica 수(pod 수)를 단계적으로 늘림. 3. 이전 replicaset의 replica 수(pod 수)를 단계적으로 줄임. 4. (2, 을 반복) 5. 이전 replicaset은 replica 수를 0으로 유지. Deployment 생성 sample-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: sample-depl..

k8s - ReplicaSet

ReplicaSet? Workload API중의 하나로 ReplicaSet은 Pod의 Replica를 생성하고 지정한 Pod 수를 유지하는 Resource ReplicaSet 생성 Pod를 Replica 수 3으로 확장시킨 ReplicaSet Manifest apiVersion: apps/v1 kind: ReplicaSet metadata: name: sample-rs spec: replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container image: nginx:1.16 ※ 기동 중인 세 개의 Pod를 확인할 수 있음. 실..

k8s - Pod

Pod? 워크로드 리소스의 최소 단위. 한 개 이상의 컨테이너로 구성. 같은 파드에 포함된 컨테이너끼리는 네트워크적으로 격리되어 있지 않고 IP 주소를 공유. 컨테이너가 두 개 들어 있는 파드를 생성한 경우 같은 IP 주소를 가짐. Pod Design Pattern 크게 Sidecar, ambassador, adapter 가 있음. Sidecar Pattern 메인 컨테이너 외에 보조적인 기능을 추가하는 서브 컨테이너를 포함하는 패턴. 대부분 데이터와 설정에 관련된 패턴. 사용 예 1. 특정 변경 사항을 감지하여 동적으로 설정을 변경하는 컨테이너 2. 깃 저장소와 로컬 스토리지를 동기화하는 컨테이너 3. 애플리케이션의 로그 파일을 오브젝트 스토리지로 전송하는 컨테이너 Ambassador Pattern 메..

k8s - Overview

k8s 구조 기본 k8s master node의 역할 API 엔드포인트 제공 컨테이너 스케줄링/스케일링 k8s worker node의 역할 docker host에 해당 실제로 컨테이너를 가동시키는 노드 k8s cluster 관리 CLI 도구인 kubectl과 YAML, JSON 형식으로 작성된 manifest file을 사용하여 k8s master에 resource를 등록해야 함. kubectl은 manifest file 정보를 바탕으로 k8s master가 가진 API에 요청을 보내어 k8s를 관리. k8s api는 일반적으로 restful api로 구현되어 있어 kubectl 사용 없이 각종 프로그램 언어의 restful api나 curl등으로 직접 api 호출하여 k8s 관리 가능. k8s Reso..

DISH's 5G Network in AWS Cloud & Data Center

미국 DISH 통신 사업자의 5G Cloud-native network를 AWS에 구축하는 시나리오 대해 분석해본다. ※ 아래 원문의 기사를 해석하여 필요한 부분만 정리하였음. 원문 https://aws.amazon.com/ko/blogs/industries/telco-meets-aws-cloud-deploying-dishs-5g-network-in-aws-cloud/ System Design Guiding Principles 5G functions 실행을 위한 확장가능하고 자동화된 디자인을 위한 AWS와 협력하는 architecture Cloud infra-structure와 service 사용을 극대화 화도록 Full automation이 이루어지는 multiple target 환경(Dev/Test/..

AWS Data Center

AWS 컴퓨팅 리소스는 세계 각지에서 호스팅 됨. Region 개별 지리 영역. 2023-06-04 기준, 전 세계 31개의 지리적 리전 내에 99개의 가용 영역을 운영. 각 리전은 가용 영역이라고 알려진 격리된 위치를 여러 개 가지고 있음. Availablity Zone Region 내의 서버를 분리 시켜놔서 만약 한 쪽 AZ가 이상으로 재해를 입어도 한쪽에서 돌아가게 할 수 있는 가용성을 높여주는 구분. 1개 이상의 물리적인 데이터 센터를 묶어놓은 논리적인 데이터 센터. Local Zone 사용자와 지리적으로 가까운 AWS 리전의 확장. 컴퓨팅, 스토리지, 데이터베이스 및 기타 엄선된 AWS 서비스를 대규모 모집단, 산업 센터와 더 가까운 위치에 배치하는 유형의 인프라 배포. 최종 사용자에게 밀리초의..

반응형