k8s 40

DevOps를 위한 쿠버네티스 마스터 강의 정리(2)

아래 강의에서 필요하거나 핵심적인 내용만 정리하였습니다. https://inf.run/wAfB2 데브옵스(DevOps)를 위한 쿠버네티스 마스터 강의 - 인프런 컨테이너 기반 오픈 소스 가상화 프로젝트인 "쿠버네티스"를 이용한 컨테이너 환경의 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 활용하는 방법을 입문부터 활용까지 다룹니다., [ www.inflearn.com - 범위: 색션 0: 하이퍼바이저와 가상 머신의 이해 ~ 도커와 쿠버네티스 이해 가상화란? 가상화는 전통적으로 하드웨어에 종속된 리소스를 사용하여 유용한 IT 서비스를 만드는 기술 가상화를 사용하면 물리적 머신의 기능을 여러 사용자 또느 ㄴ환경에 배포하여 물리적 머신을 최대한 활용 가능 가상화를 통해 기업은 서버를 파티셔닝하고 여러 ..

k8s 2024.03.12

DevOps를 위한 쿠버네티스 마스터 강의 정리(1)

아래 강의에서 필요하거나 핵심적인 내용만 정리하였습니다. https://inf.run/wAfB2 데브옵스(DevOps)를 위한 쿠버네티스 마스터 강의 - 인프런 컨테이너 기반 오픈 소스 가상화 프로젝트인 "쿠버네티스"를 이용한 컨테이너 환경의 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 활용하는 방법을 입문부터 활용까지 다룹니다., [ www.inflearn.com - 범위: 색션 0: 쿠버네티스 이슈 ~ 마이크로서비스 성공 사례-1 클라우드 네이티브란? 클라우드의 장점을 최대한 활용하여 정보 시스템을 구축 및 실행하는 환경 클라우드 네이티브 기술, 애플리케이션, 아키텍처, 개발 방법론, 조직, 프로세스 등 다양한 용어와 결합하여 다양한 의미로 사용 쿠버네티스는 클라우드 네이티브 구성요소를 완전..

k8s 2024.03.12

kubectl attach 와 kubectl exec 차이점 분석

쿠버네티스를 다루다보면 트러블 슈팅을 위해 pod에 직접 접근해야하는 경우가 발생한다. 이때 파드에 직접 접속하는 명령어는 다음 두 가지가 있다. kubectl attach kubectl exec 처음 두 명령어를 접하면 어떤 차이가 있는지 매우 햇갈리고, attach는 특히나 실제 사용 사례를 검색하여도 잘 찾아지지 않기 때문에 이번 글에서는 위 두 가지 명령어의 쓰임과 차이점에 대해 분석하고자 한다. kubectl attach attach의 설명을 구글링해보면 다음과 같이 나온다. Attach to a process that is already running inside an existing container. -> 공식 문서 The kubectl attach command is similar to ..

k8s 2023.02.06

[Helm 작성하기 (1)] Helm 차트 구조

헬름이란? 쿠버네티스 애플리케이션을 패키지 형태로 손쉽게 관리하는 도구 헬름 차트의 구조는 다음과 같다. mychart/ Chart.yaml values.yaml charts/ temlplate/ .... template/ 디렉토리는 템플릿 파일들이 들어있다.(deployment.yaml, service.yaml 등) values.yaml 는 차트의 기본값들을 가지고있는 파일이다. Chart.yaml 은 차트에 대한 설명을 포함하는 파일이다. 차트생성 다음 명령어로 간단하게 차트를 생성할 수 있다. $ helm create mychart mychart/templates/ 살펴보기 NOTES.txt : 차트의 도움말로 helm install 할 때 사용자에게 표시된다. deployment.yaml : 쿠버..

k8s 2023.02.03

쿠버네티스 완벽 가이드 2장 : 쿠버네티스 특징 간단히 알아보기

쿠버네티스란? 컨테이너화된 애플리케이션 배포, 확장 등을 자동화하여 관리하기 위한 플랫폼 비슷한 컨테이너 오케스트레이션 엔진에는 docker swarm, Apache Mesos 등이 있지만, 쿠버네티스가 사실상 표준적으로 많이 쓰인다. 쿠버네티스에서 사용가능한 컨테이너 런타임은 Docker, Containerd, cri-o 등이 있다. 쿠버네티스를 통해 할 수 있는 것들 1. 선언적 코드를 사용한 관리(IaC) YAML 또는 JSON 형식으로 작성한 선언적 코드(menifest)를 통해 배포하는 컨테이너로 주변 리소스를 관리 -> IaC(Infrastructure as Code) 구현 apiVersion: apps/v1 kind: Deployment metadata: labels: app: sample ..

k8s 2023.02.02

쿠버네티스 완벽 가이드 1장 : Docker

Docker란? 컨톄이너를 실행하기 위한 실행 환경(컨테이너 런타임) 및 툴킷이다. 쿠버네티스의 경우 도커 이외의 컨테이너 런타임도 지원 Docker Container란? 도커 이미지를 기반으로 실행되는 프로세스 장점 1. 이식성이 높다. 도커 이미지 -> 환경의 영향을 받지 않고 다양한 환경에서 컨테이너를 기동 가능 BORA(Build Once Run Anywhere) 콘셉트 장점 2. 가상머신에 비해 가볍다. '가상머신에 비해 가볍다.' , '시작과 중지가 빠르다.' 등의 장점이 있다. 가상머신 -> 하이퍼 바이저를 이용하여 게스트 OS를 동작시킴 도커 컨테이너 -> 호스트 머신의 커널을 이용하면서 네임스페이스 분리와 cgroups를 이요한 제어를 통해 독립적은 OS와 같은 환경을 만듦 따라서 게스트..

k8s 2023.01.19

Kubernetes Resource Summary (2)

1. Service Service 정의 Pod에서 실행되고 있는 어플리케이션을 네트워크에 노출시키기 위한 리소스 Kubernetes 리소스들이 어플리케이션과 또는 다른 외부 어플리케이션이나 사용자가 어플리케이션에 연결할 수 있도록 하는 리소스 Pod는 쿠버네티스에서 어플리케이션을 구동중인 상태를 유지하기 위한 일회성 리소스로써 언제든 Pod가 재생성되어 IP주소가 변경될 수 있기 때문에 고정적인 IP를 가지는 Service 리소스를 사용하여 클러스터 내/외부와 어플리케이션간에 네트워크 통신이 가능하도록 한다. Service 에서 반드시 정의되어야 할 포트 targetPort : Pod의 어플리케이션쪽에서 열려있는 포트를 의미(파드의 인바운드), Service로 들어온 트래픽은 어플리케이션이 동작중인 파드..

k8s 2022.10.25

Kubernetes Resource Summary (1)

1) Pod - 쿠버네티스에서 생성하고 관리할 수 있는 가장 작은 배포 단위 - 한 개 이상의 컨테이너 그룹으로, 공유 스토리지와 네트워크 자원을 포함하여 가지고 있다. - Recreation : Pod에 문제가 발생할 경우, 쿠버네티스 컨트롤러에 의해 재성성되는 특징(Controller의 Auto Healing) - Stateless : Pod의 이름, IP 등의 상태가 일정하지 않고 재생성시 변하게 되는 특징 2) Replicaset - 정의된 Pod 개수에 대한 가용성을 보증하는 리소스 - Replicaset에 의해 생성된 Pod의 집합이 항상 안정적으로 실행되도록 유지하는 리소스 다음은 Replicaset 예시 yaml 이다. apiVersion: apps/v1 kind: ReplicaSet me..

k8s 2022.10.24

CKA 준비 (30) Network Policy

https://www.youtube.com/watch?v=hvhqrzoTfIY&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=35 이론) * Network policy 란? - Pod에 대한 접근제어 방화벽 역할 - 특정 pod에 들어올 수 있는 Inbound traffic 과 Pod에서 나가는 Outbound traffic을 제한할 수 있다. 문제) Create a new NetworkPolicy named allow-port-from-namespace in the existing namespace devops. Ensure that the new NetworkPolicy allows Pods in namespace migops to connect to port 80..

k8s 2022.09.25