본문 바로가기

kubernetes68

Deployments 와 StatefulSets 베하~! 안녕하세요 1-Tier팀 입니다. Kubernetes 환경을 운영하면서 대부분 Deployment로 관리되고 운영되는데, MySQL, Jenkins 등 일부는 StatefulSet을 사용하는것에 궁금증이 생겼고 비슷한 역할을 하는 리소스이긴 하나 분명 다른점이 있을 것인데 명확하게 설명하기 어려워 두 개의 차이점을 알아보고자 찾아보면서 정리하기 위해 해당 포스팅을 작성하게 되었습니다. 차이점을 이해하기 전에, 먼저 상태 저장의 의미인 Stateful 과 Non-Stateful 를 이해해야 합니다. Stateful / Non-Stateful Stateful 상태를 지속적으로 유지하는 상태 DB, 캐싱 등 데이터를 영구적으로 저장하고 관리해야 하는 경우에 사용되며 각각의 인스턴스가 고유 식별자를 가.. 2024. 4. 17.
[K8S] Secret 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번에는 Secret 에 대해 알아보겠습니다! Secret 쿠버네티스 시크릿은 애플리케이션에서 사용되는 중요한 정보나 데이터를 안전하게 저장하고 관리하는데 사용되는 쿠버네티스 리소스입니다. 이 정보는 주로 비밀번호, API 토큰, 데이터베이스 연결 정보와 같은 민감한 데이터로 이루어져 있습니다. 시크릿은 Base64로 인코딩되어 저장되지만, 보안을 위해 암호화되지는 않습니다. 쿠버네티스 시크릿은 환경 변수, 볼륨, 이미지 등 다양한 형태로 애플리케이션에 주입될 수 있습니다. 이를 통해 코드나 설정 파일에 민감한 정보를 직접 하드코딩하지 않고도, 쿠버네티스 클러스터에서 관리할 수 있어서 보안 및 유지보수 측면에서 도움을 줍니다. 실습을 통해 더 자세하게 알아.. 2024. 1. 24.
[K8S] Rollout 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Rollout 에 대해 알아보겠습니다! Rollout 롤아웃(rollout) 은 애플리케이션의 업데이트나 변경 사항을 안전하게 배포하는 프로세스를 말합니다. 새로운 버전의 애플리케이션을 배포하고 이전 버전과의 전환을 원활하게 관리하면서 롤백이나 각종 상태 모니터링을 지원합니다. 일반적으로 'kubectl rollout' 명령어를 사용하여 이러한 배포 프로세스를 관리할 수 있습니다. 이러한 방식은 무중단 배포와 서비스의 안정성을 높이는 데 도움이 됩니다. 실습을 통해 더 자세하게 알아보겠습니다. Rollout 실습 이번 실습도 KillerCoda 에서 따라해보아요. https://killercoda.com/ Killercoda Interactive .. 2024. 1. 8.
[K8S] ConfigMap 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 ConfigMap에 대해 알아보겠습니다! ConfigMap 컨피그맵(configmap)은 컨테이너에서 필요한 환경설정 내용을 컨테이너와 분리해서 제공해 주기 위한 기능입니다. 개발용과 운영용에서는 서로 다른 설정이 필요한 경우가 많습니다. 이렇게 다른 설정을 가지고 실행을 해야할때 사용하는 것이 컨피그맵입니다. 컨피그맵을 컨테이너와 분리해 둠으로써 하나의 동일한 컨테이너를 가지고 개발용, 스테이지용, 운영용으로 모두 사용하는 것이 가능해 집니다. 컨피그맵의 내용을 컨테이너의 환경변수로 주는 것뿐만 아니라 다른 방식으로 사용할수도 있습니다. 볼륨형식으로 컨테이너에 붙여서 파일로 컨테이너에 제공해 주는게 가능합니다. config-volume라는 볼륨을.. 2023. 12. 8.
[K8S] CronJob 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 CronJob에 대해 알아보겠습니다! CronJob CronJob은 주기적으로 특정 동작을 수행하고 종료하는 배치 작업을 정의하기 위한 리소스예요. 리눅스 크론 스케쥴링 방법으로 사용해요. 내부적으로 Job을 생성하여 작업을 수행하는데, 이때 Job은 내부적으로 Pod를 만들어요. 주기적으로 데이터를 백업하거나 데이터 점검 및 알림 전송 등의 목적으로 사용할 수 있어요. CronJob 실습 이번 실습도 KileerCoda 에서 따라해보아요. https://killercoda.com/ Killercoda Interactive Environments Learn DevOps Linux Kubernetes CKS CKA CKAD Git Cassandra .. 2023. 11. 25.
[K8S] Environment 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 Environment에 대해 알아보겠습니다! Environment 쿠버네티스에서는 파드를 생성할 때, 파드 안에서 동작하는 컨테이너를 위한 환경 변수를 설정할 수 있어요. 환경 변수를 설정하려면 구성 파일에 env 나 envFrom 필드를 포함시켜야해요. 간단한 실습을 통해 같이 알아보아요~ Environment 실습 이번 실습도 KileerCoda 에서 따라해보아요. https://killercoda.com/ Killercoda Interactive Environments Learn DevOps Linux Kubernetes CKS CKA CKAD Git Cassandra etc | Katacoda compatible killercoda.com .. 2023. 11. 12.
EKS - EFS CSI driver 베하~!!! 1-Tier팀 입니다. 원래라면 Youtube API 포스팅을 했어야 하지만... 업무 중 알게 된 CSI Driver 에 대한 정보를 공유드리고 싶어 가져왔습니다.!!! CSI는 Kubernetes 클러스터 내에서 EFS를 사용하기 위한 드라이버로 EFS 파일 시스템을 마운트하여 컨테이너에 공유 스토리지를 제공, 관리할 수 있도록 합니다. 먼저, EKS에서 EFS의 역할부터 알아보도록 하겠습니다. EFS는 EKS에서 여러 Pod들이 하나의 스토리지를 사용할 수 있도록 합니다. 하나의 AZ에서만 접근할 수 있는 EBS와 달리, EFS는 여러 가용 영역에서 접근할 수 있어 다른 Node에 배포되어 있는 Pod도 스토리지에 접근할 수 있습니다. EFS를 사용하기 위해서는 드라이버가 설치되어야 하.. 2023. 11. 9.
[K8S] SecurityContext 베하~! BTC_녹차공원 팀의 민물공원 입니다. 이번주는 SecurityContext에 대해 알아보겠습니다! SecurityContext 쿠버네티스는 컨테이너 실행 시 기본적으로 root 권한으로 실행을 하게됩니다. root 권한에서의 컨테이너 실행을 방지하기 위해 SecurityContext를 이용해 파드 또는 컨테이너 단위로 실행시킬 PID를 지정할 수 있습니다. SecurityContext의 옵션에는 4가지가 있습니다. runAsUser : 파드 또는 컨테이너를 실행시킬 PID를 지정 runAsGroup : 파드 또는 컨테이너를 실행시킬 GID를 지정 fsGroup : 볼륨 마운트 시 활용할 PID를 지정 runAsNonRoot : 컨테이너를 루트가 아닌 사용자로 실행할지 지정 SecurityCno.. 2023. 10. 28.