728x90
반응형

쿠버네티스 20

[쿠버네티스] Kubernetis Volume 사용하기

안녕하세요 이웃님들 ^.^ 좋은 아침 입니다. 오늘은 Kubernetis에서 Pod들이 사용하느 Volume의 종류와 사용 방법에 대해서 포스팅 해보겠습니다. 컨테이너가 실행되고 실행 중에 상태를 가지고 데이터가 생성되어도, 컨테이너가 종료되면 컨테이너에서 생성되었던 모든 데이터는 사라집니다. 이것은 Kubernetes상에서 자유롭게 Pod를 복제하고 배포하는데 있어 커다란 장점이기도 하지만 시스템 로그나 데이터베이스의 데이터 같이 애플리케이션은 종료되더라도 데이터가 유지되어야만 하는 경우 사용하는게 Volume입니다. Kubernetes에서는 Docker와는 다르게 Pod 단위로 Volume을 관리하며, Life Cycle과 제공되는 디스크 Type 따라 다양한 옵션과 종류가 존재합니다. 하나의 Pod..

쿠버네티스 2024.03.19

[쿠버네티스] Replicaset을 이용해 Pod 관리 하기

안녕하세요 이웃님들 ^.^ 오늘의 포스팅은 Replicaset을 이용해 Pod를 관리 하는 방법에 대해서 알아 보겠습니다. ReplicaSet의 목적은 레플리카 Pod 집합(Pod의 복제본들)의 실행을 항상 안정적으로 유지하는 것입니다. 정해진 수의 Pod를 유지하기 위해서 Object들의 상태(Status)를 살피고, Spec과 Status에 차이가 발생하면 이를 다시 일치시키기 위해서 조치를 취합니다. ReplicaSet의 Spec에는 다음 정보들이 포함되어 있습니다.replicas : 유지해야 하는 Pod 개수selector : 획득 가능한 파드를 식별하는 방법 (ReplicaSet에 의해 관리되는 Pod의 선택방법)template : Pod 생성에 사용되는 데이터 (Pod의 metadata와 sp..

쿠버네티스 2024.03.17

[쿠버네티스] Deployment 컨트롤러 관리 방법

안녕하세요 이웃님들 ^.^ 좋은 아침 입니다. 오늘은 Kubernetis 컨트롤러 중 하나인 Deployment의 사용 방법에 대해서 알아 보겠습니다. Deployment는 Pod를 생성하기 위한 상위 개념의 Workload resource이며, 아래 그림과 같이 ReplicaSet과 Pod에 대한 선언적 업데이트를 제공합니다. 선언적 업데이트란 말은 Pod의 버전을 업데이트 하거나 할때 유용한 기능을 제공을 합니다. 업데이트의 방법은 아래와 같은 종류가 있습니다. RollingUpdate : 업데이트 시 Pod들을 정해진 규칙에 따라 순차적으로 생성/삭제 Recreate: 업데이트 시 기존의 Pod를이 모두 삭제되고 새로운 Pod들이 생성됨 그리고, RollingUpdate시에는 다음과 같은 정보를 이..

쿠버네티스 2024.03.16

[쿠버네티스] Kubernetis Pod 구동 하는 방법

안녕하세요 이웃님들 ^.^ 오늘은 쿠버네티스 리소스 중 하나인 Pod에 관한 포스팅을 해보겠습니다. Pod를 구동 사키는 방법에는 3가지 방법이 있는데요. 1. 명령형 커맨드로(Imperative commands) 실행 시키는 방법은 아래와 같습니다. 이번에는 Pod를 관리하는 명령어들을 알아보겠습니다. 먼저 Pod를 생성하는 세 가지 방법을 알아보겠습니다. 첫 번째는 명령형 커맨드(Imperative commands) 입니다. Pod를 직접 동작시키는 방법입니다. run 명령을 사용해 아래와 같이 실행을 시킵니다. ubuntu@ip-172-31-31-84:~/dockertext2/chap07$ kubectl run my-nginx1 --image=nginx:1.19.3 pod/my-nginx1 crea..

쿠버네티스 2024.03.13

[쿠버네티스] 쿠버네티스 서비스 객체 사용 하기

안녕하세요 이웃님들 ^.^ 좋은 아침 입니다. 오늘은 쿠버 네티스의 서비스 객체의 종류 및 생성과 관리 방법에 대해서 포스팅 해보겠습니다. 우선 Deplpoyment를 이용해 Pod를 생성하고 Service를 이용해 Pod를 연결 해보겠습니다. Service는 Pod로 실행중인 애플리케이션을 네트워크 서비스로 노출하는 추상화 방법입니다. Pod는 생성되면 고유의 IP를 가지지만 수시로 생성/삭제/확장되는 환경을 감안하면, 주어진 Pod의 IP로 서비스를 이용하는것은 불가능합니다. 그래서, Kubernetes에서는 Service라는 리소스를 사용하여고정된 IP여러개의 Pod에 대한 Loadbalancing을 제공합니다. Service는 외부사용자나 시스템이 접근할 때도, 클러스터 내부의 Pod들 간에도 적..

쿠버네티스 2024.03.07

[쿠버네티스] curl로 API 접근하기

안녕하세요 이웃님들 ^.^ 좋은 아침 입니다. 오늘은 쿠버네티스 환경에서 KUBECTL을 사용하지 않고 crul을 사용해 API에 접근 하는 방법에 대해서 포스팅 해보겠습니다. 우선 API에 접근 하기 위해선 API의 정보를 알아야 겠죠? 그럼 아래의 절차대로 실행을 해서 API정보를 알아 볼까요? 1) 우선 Kubectl의 설정 정보를 확인 합니다. ubuntu@ip-172-31-31-84:~$ cat ~/.kube/config apiVersion: v1 clusters: - cluster: certificate-authority: /home/ubuntu/.minikube/ca.crt extensions: - extension: last-update: Sat, 02 Mar 2024 10:34:20 UT..

쿠버네티스 2024.03.05

[쿠버네티스] 단일노드에 MiniKube 환경 구축 하기

안녕하세요 이웃님들 ^.^ 좋은 아침 입니다. 오늘은 단일 Node에 Minikube를 설치하고 Kubernetis 실습 환경을 구축 하는 방법에 대해서 포스팅 해보겠습니다. 본 절차는 ubuntu 기준으로 구성이 되었습니다. 1.Minikube 설치 하기 Minikube는 Kubernetis 환경 간다히 만들수 있는 tool입니다. 그럼 아래 절차를 통해 Minukube를 설치를 해보겠습니다. 1) tool의 버전을 아래 명령을 통해 업데이트를 진행 합니다. ubuntu@ip-172-31-31-84:~$ sudo apt-get update Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu focal InRelease Get:2 http://us-east-1...

쿠버네티스 2024.03.04

[클라우드] 13. kubernetes Helm Template 작성하기

chart 내 template 파일을 작성하는 부분에 대해 알아 봅니다. template 파일명에는 엄격한 규칙이 없으며, 확장자만 .yaml을 사용하고, helper에 대해서는 .tpl을 사용합니다. ​ helper는 chart 전체에서 재사용 가능한 object를 정의할 수 있습니다. template directive(지시문)은 {{ 와 }} 으로 감싸야 합니다 예를 들어, template directive {{ .Release.Name }} 은 template에 release명을 대입합니다. ​ built-in object Release : 릴리스 자체를 지정합니다. Release.Name: Release 이름 Release.Namespace: Release될 네임스페이스 (manifest에서 오버..

쿠버네티스 2023.08.25

[클라우드] 12.Kubernetes Helm 사용하기

Helm Ovierview 쿠버네티스에서는 Helm이라고 하는 Package Managing Tool이 있습니다. 이 툴은 node.js의 npm과 유사하게 Kuberentes의 Package를 배포 가능하게 하는 Tool 입니다. 이 Helm의 구조를 보면 아래와 같습니다. ​ Helm은 Chart 라고 부르는 Package Format을 사용하게 되는데, 이 Chart는 Kubernetes의 Resource들을 정의하는 파일들의 집합입니다. yaml + templates = helm이라고 생각을 하시면 될것 같습니다. ​ Helm에서는 Packing된 아카이브를 helm chart라 부릅니다. helm chart는 templates과 value.yaml파일로 구성이 되는데 . 이 두개의 조합으로 하나..

쿠버네티스 2023.08.22

[클라우드] 10. 쿠버네티스 Configmap 사용하기.

이번 포스팅에서는 쿠버네티스의 Configmap 객체에 대해서 알아 보도록 하겠습니다. 모든 어플리케이션은 어플리케이션에서 사용하는 환경 변수나 설정값과 데이터들을 사용을 하는데. 예를 들면 API Key나 토큰 비밀번호 등등의 데이터를 어플리케이션에서는 참조를 합니다. 그림출처:Kubernetes in action 위의 그림을 보면 개발(development)시스템과 운영(production)시스템 두개가 있는데 각각 환경 설정 값이나 어플리케이션에서 사용하는 data가 다를경우. 그리고 대상 container가 수백대일 경우 운영자가 일일이 관리를 하는건 엄청난 시간낭비와 오류로 인한 장애 발생등 많은 문제를 발생시킬 수 있습니다. 물론 관리 하는 컨테이너가 몇개 되지 않는다면 운영자가 hardcon..

쿠버네티스 2023.08.20
728x90