DevOps/Kubernetes 8

쿠버네티스 객체의 종류 : deployment, service, configmap, secret, replicaset

Deployment (배포): 여러 개의 Pod를 생성하고 관리하는 객체, 애플리케이션의 스케일링과 롤링 업데이트들을 관리한다. 2. Service (서비스): 네트워크 경로를 Pod 집합에 노출시키는 추상화 객체로, 여러 Pod에 대한 로드 밸런싱과 서비스 디스커버리를 제공한다. yamlCopy code apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 # 포트 설정 targetPort: 80 3. ConfigMap (구성 맵): 애플리케이션에 필요한 구성 데이터를 저장하는 객체로, 환경 변수, 설정 파일 등을 관리한다. YAML 파일에 키-값..

DevOps/Kubernetes 2023.07.14

파드(Pod)와 YAML 파일

Pod란? Pod: Kubernetes 모델의 기본 구성요소로, 배포 가능한 가장 작은 Kubernetes 객체다. 가장 작은 Kubernetes 객체는 컨테이너라고 생각하셨던 분들 말이죠. 하지만 그렇지 않다. .YAML 파일 Kubernetes Pod 객체를 생성하기 위한 YAML 구성 파일로 Pod: Kubernetes 생태계에서 가장 작고 가장 간단한 단위로, 클러스터에서 실행 중인 단일 프로세스 인스턴스다. apiVersion: v1 **kind: Pod** **# 고유한 객체 이름** **metadata**: **# Pod 속성 정의** **name:** nginx uid: 4dd474fn-f389-11f8-b38c-42010a8009z7 # 객체 고유식별자 할당 labels: app: ngi..

DevOps/Kubernetes 2023.07.14

[Kubernetes] 컨트롤러와 객체

바라는 상태(Desired State) 쿠버네티스는 사용자 요청에 따라 현재 상태가 바라는 상태와 동일해지도록 사전 정의된 작업을 수행한다. 따라서 쿠버네티스에 장애가 발생해서 애플리케이션이 죽더라고 Desired State에 의해서 배포 상태를 되살릴 수 있다. (자가 치유) 에어컨 시스템에 비유하면 현재 온도를 사용자가 바라는 희망온도에 따라 변경시키기 위해 에어컨(쿠버네티스)이 작동한다. 쿠버네티스에서는 YAML 형식을 이용해서 선언형 명령을 내린다. 사용자는 쿠버네티스에 명령을 전달할 때 YAML 파일에 프로퍼티(property)를 추가 또는 수정한다. 컨트롤러(Controller) 컨트롤러는 루프를 돌며 오브젝트들을 지속적으로 모니터링한다. 쿠버네티스에는 바라는 상태라는 개념이 있는데, 사용자가..

DevOps/Kubernetes 2023.07.14

[Kubernetes] 쿠버네티스와 도커 : 쿠버네티스와 도커의 차이점, 클러스터 운영체제, 쿠버네티스를 사용하는 이유

쿠버네티스(Kubernets, k8s) 여러 서버로 구성된 클러스터 환경에서 여러 개의 컨테이너들을 자동화 배포, 확장, 스케줄링으로 관리하기 위한 컨테이너 오케스트레이션 플랫폼이다. *오케스트레이션이란 여러 개의 서버 위에서 컨테이너의 라이프사이클을 관리하는 것이다. 여러 노드에 여러 개의 컨테이너를 분산해서 배치하거나, 문제가 생긴 컨테이너를 교체하고 환경 변수를 설정 등을 통해 컨테이너를 관리한다. 컨테이너들을 여러 서버에 걸쳐 여러 개를 실행시키기 위해 오케스트레이션을 통해 관리한다. 쿠버네티스의 기능 하드웨어 추상화 컨테이너의 실행 및 배포 컨테이너 이중화와 가용성 보장 컨테이너의 오토스케일링 컨테이너의 스케줄링 컨테이너의 네트워크 설정 관리 컨테이너의 health 상태 모니터링 컨테이너의 설정..

DevOps/Kubernetes 2023.07.13

쿠버네티스 실행 명령어 정리

# 포드에서 컨테이너 실행 kubectl run # 포드에서 실행 중인 포드 목록 출력 kubectl get pods # 배포 확장 kubectl scale # 배포 확인 kubectl get deployments # 업데이트된 구성 파일 사용 kubectl apply –f nginx-deployment.yaml # Endpoint 검색 (서비스의 외부 IP를 가져오고 클라이언트에서 공개 IP에 접속하면 엔드포인트에 연결할 수 있음) kubectl get services # GKE 클러스터에서 쿠버네티스 시작 gcloud container clusters create k1

DevOps/Kubernetes 2023.04.21

클라우드 아키텍트(Cloud Architect)가 뭘까? 클라우드 아키텍트 정의와 클라우드 아키텍트 5가지 종류를 정리해봤다

요 녀석을 목표로 공부하기에 앞서 단어의 정의 하나하나 소화해 보기로 했다~! 클라우드 아키텍트 정의 우선 Architect 라는 단어가 눈에 띈다. Architect는 건축가라는 의미인데 클라우드 아키텍트는 클라우드에서 뭘 설계하고 건축하는 걸까? ⚒️ 클라우드 아키텍트란 보안과 효율을 고려해서 고객에게 인프라 서비스를 구축해 주는 엔지니어다. 👷🏻 음... 건물 설계자를 떠올려봤다. 백화점을 설계한다고 했을 때 에스컬레이터는 입구와 정반대에 위치해있다 ^^ 왜냐면 백화점은 상품을 판매하기 위해 전시된 상품을 고객에게 전시하고 구매욕구를 증진시켜야 하기 때문인데 클라우드에는 뭐를 신경 써야 할까? 클라우드 건축가(설계자)들은 서비스를 운영하기 위해서 중요한 효율이나 보안을 고려해서 클라우드를 설계해주는..

DevOps/Kubernetes 2023.04.12

On-Premises vs. Public Cloud 온프레미스와 퍼블릭 클라우드의 차이로 퍼블릭 클라우드를 정의했다

클라우드에 대해 공부하려는데 용어가... 많다... 퍼블릭 클라우드라는 단어가 가장 많이 보인다. 퍼블릭 클라우드가 무엇인지 정의하기 위해 온프레미스와 퍼블릭 클라우드를 비교하겠다. On-Premises와 Public Cloud의 차이 물리적 IT 자원이 어디에 존재하는지? 누가 운영하는지? 에 따라 구분한다. On-Premise[온프레미스]는 기업이 자체적으로 물리 장비를 구축하고 운영하는 레거시 운영 방식이다. 클라우드 서비스가 생기기 전에 데이터 센터를 구축하거나 데이터 센터를 대여해서 구축하는 방식을 이용했다. 기업에서 자산의 개념으로 구매했다 Public Cloud의 정의 Public Cloud는 CSP(Cloud Service Provider)에서 구축하고 운영 관리한다. 사용자는 UI, CL..

DevOps/Kubernetes 2023.04.07

클라우드가 뭐지? 구름인가? 클라우드의 정의와 장점을 알아보자

클라우드란 무엇인가? 왜 구름이라는 뜻으로 이름이 붙여졌을까? 구름을 생각해 보자 구름이 가득한 하늘이 연상된다... 클라우드라고 하면 특히 추상화라는 단어를 같이 엮어서 여러 번 들어봤다. 구름은 얼음 결정들이 덩어리져서 하늘에 떠 있는 것이다. 하늘에 구름이 많이 끼면 해가 가려져서 날씨가 흐려진다. 이런 구름의 특징처럼 클라우드는 내부를 알지 못해도 자원(서버, DB, OS, 네트워크 등)을 꺼내쓸 수 있는 기술 서비스다. 즉, 인터넷을 구름으로 비유해서 표현한 것이다. 클라우드에서 핵심 키워드는 인터넷. 클라우드(구름) 위에 설치된 거대한 고효율 컴퓨터를 사용(대여)해서 대작업을 처리한다고 표현할 수 있다. 클라우드의 개념 클라우드 서비스는 인터넷 기반으로 컴퓨팅 서비스를 제공하는 것이다. 인터넷..

DevOps/Kubernetes 2023.04.07