Seouleez
Search
Seouleez
이것저것 좋아하는 것들을 포스팅 합니다.
GITHUB
Post List
최신 글
Search
Kubernetes 에서 Secret 을 안전하게 보호하기 위한 Sealed Secrets 구성 방법
Secret
Secret 은 Kubernetes 환경에서 민감한 값을 보호하기 위해 사용되는 요소이다.
여기에는 DB 패스워드나, Host, API 키 등 민감한 정보가 들어가게 되는데 이런 값들이 평문으로 들어가서 Github Repository 에 올라가게 된다면 보안적으로 좋지 않다.
Secret 에는 평문으로 넣지 않고, Base64 로 인코딩해서 넣긴 하지만 Base64 는 너무 쉽게 디코딩 할 수 있기 때문에 안전하다고 할 수는 없다.
이런 경우에 외부 Secret 도구들을 도입하여 사용할 수 있다.
외부 Secret 도구
HashiCorp Valut, AWS 클라우드를 사용한다면 AWS Secret Store CSI Driver 같은 도구가 있고,
Helm Secrets, Selaed Secrets 같은 도구도 있다.
Kubernetes 환경에서의 CD 배포 도구는 이제는 거의 베이직으로 자리잡은 ArgoCD 를 많이 사용하기 때문에 ArgoCD 와의 궁합이 잘 맞는지를 먼저 확인해봐야 한다.
호환성 여부는 ArgoCD 공식 문서에 잘 나와있다.
Secret Management - Argo CD - Declarative GitOps CD for Kubernetes
Kubernetes 에서 Secret 을 안전하게 보호하기 위한 Sealed Secrets 구성 방법
2025/04/05 04:54
Istio ServiceEntry - 외부 서비스에 대한 흐름 파악을 위한 가시성 확보
Istio ServiceEntry 란?
ServiceEntry 는 Istio 의 다채로운 여러가지 기능 중 한가지 입니다.
ServiceEntry 는 보이지 않는 트래픽에 대해서도 확인이 가능하도록 해줍니다.
만약 Istio 를 사용하지 않는다면 가늠조차 해볼 수 없을텐데요.
그만큼 Istio 를 잘 활용하고, 잘 사용한다면 Kubernetes 인프라 환경에서 여러가지 시도를 해볼 수 있도록 해줍니다.
외부 트래픽에 대한 모니터링
Kubernetes 환경에서 애플리케이션이 외부 서비스로 트래픽을 보낼 때, 어떤 외부 서비스로 빠져나가는지 알 수 있는 방법은 기본적으로는 없습니다.
또한, Istio 가 있는 환경에서도 외부 트래픽이 어디로 빠져나가는지 알 수 없는데요.
PassthroughCluster
Istio 에서 외부 트래픽에 대한 대상은 아래처럼
PassthroughCluster
로 표시가 됩니다.
ServiceEntry - HTTPS
서두에 설명했던 것처럼 애플리케이션에서 외부로 빠져나가는 트래픽에 대한 흐름을 파악하고 모니터링을 할 수가 있습니다.
ServiceEntry 에서도 여러가지 옵션을 사용할 수 있습니다.
Istio ServiceEntry - 외부 서비스에 대한 흐름 파악을 위한 가시성 확보
2024/11/16 07:17
Istio
ServiceMesh
ArgoRollout extension - ArgoRollout Dashboard - ArgoRollout
Kubernetes 의 기본적인 배포 방식
Kubernetes 환경에서 애플리케이션을 배포할때는 주로
Deployment
를 사용하여 배포를 하게 됩니다.
이때, Deployment 는
ReplicaSet
이라고 하는 집합을 만들게 됩니다.
그리고 여기에 정의되어 있는 갯수만큼 Pod 를 생성합니다.
최초 버전이 v1 이고, 이후 v2 버전으로의 배포를 진행하게 될때는 Deployment 의 기본적인 업데이트 방식인
Rolling Update
로 진행되게 됩니다.
•
신규 ReplicaSet 을 생성하고, 기존 버전의 Pod 들을 순차적으로 제거하며, 신규 Pod 로 교체하는 방식
ArgoRollout 이란?
ArgoCD 를 배포툴로 채택하여 애플리케이션을 배포하게 된다면, 배포 전략과 방식에 대한 선택지가 늘어나게 할 수 있습니다.
Argo 프로젝트 중 하나인 ArgoRollout 을 사용한다면 말이죠.
ArgoRollout
을 사용하게 되면
Blue/Green
,
Canary
배포도 사용할 수 있게 됩니다.
ArgoRollout Dashboard
Argo Rollout 을 사용하여, 새로운 배포 전략을 도입하면 어느 순간 배포 과정이 직관적이지 않다고 느껴질 수 있습니다.
Argo Rollout 에서는 전용
Dashboard
구성할 수 있으며, 이를 통해 배포가 어떻게 진행되고 있는지 상세히 확인할 수 있습니다.
ArgoRollout 에서는 Dashboard 를 추가적으로 구성할 수 있습니다.
ArgoRollout extension - ArgoRollout Dashboard - ArgoRollout
2024/11/02 14:05
Kubernetes
ArgoCD
CICD
배경
Istio 서비스메시의 아키텍처 중에서
컨트롤 플레인
과
데이터 플레인
에 대해 정리해본다.
내용
서비스메시를 얘기하다보면 L4/L5나 L7 레이어에 대해 언급하게 된다.
이러한 용어는 OSI 에서 나온 것으로 아래와 같이 네트워크 통신을 위한 7가지 레이어가 있다.
•
레이어 1 :
물리 레이어
{Physical Layer}
•
레이어 2 :
데이터 링크 레이어
{Data Link Layer}
•
레이어 3 :
네트워크 레이어
{Network Layer}
•
레이어 4 :
전송 레이어
{Transport Layer}
•
레이어 5 :
세션 레이어
{Session Layer}
•
레이어 6 :
표현 레이어
{Presentation Layer}
•
레이어 7 :
애플리케이션 레이어
{Application Layer}
서비스메시는 OSI 모델의 레이어7에서 마이크로서비스간의 트래픽을 관리한다.
Istio 서비스메시의 아키텍처 [컨트롤 플레인과 데이터 플레인]
2024/09/17 02:56
Istio
ServiceMesh
쿠버네티스 Pod 헬스 체크
목적
쿠버네티스의 Pod
헬스 체크
에 대해 정리한다.
내용
쿠버네티스 Pod 에는 Probe 라고 하는 헬스 체크 기능이 있다.
Probe 를 사용하지 않아도 Pod 가
Running
상태로 동작하기는 하지만, Pod 내에 애플리케이션이 정상적으로 동작한다고 보장할 수는 없다.
즉, Pod 내에 애플리케이션이 문제없이 정상적으로 실행되고 있는지까지 체크가 필요한데 쿠버네티스에서는 Probe 라는 이름으로 기능을 제공하고 있다.
Probe 의 종류에는 3가지가 있는데 대부분
Liveness Probe
Readiness Probe
에 대해서만 적용하는 것 같은데
Startup Probe
도 적용하는 것이 좋다.
1.
Liveness Probe
2.
Readiness Probe
3.
Startup Probe
Startup Probe
Probe 들의 기능은 아래와 같다.
각각의 역할이 있고, 헬스체크에
실패
했을때 발생되는 동작도 모두 다르다.
쿠버네티스 Pod 헬스 체크
2024/09/01 08:41
Kubernetes
배경
awk 프로그래밍은 어떤 인덱스의 값을 추출할 것인지를 명시하여 사용할 수 있다.
그래서 awk 프로그램을 작성할 때는 기본적으로 어떤 값을 추출할 것인지를 명시하는 패턴과 추출된 레코드를 전부 출력할 것인지, 특정 필드의 값만 출력할 것인지를 명시하는 것으로 나누어진다.
그리고, awk 는 패턴이 명시되지 않으면 액션에 명시된 해당 필드값을 모두 출력한다.
따라서 패턴을 생략할 수도 있고, 액션을 생성할 수도 있다.
또한 awk 프로그래밍을 이용하여 다양한 프로그램을 만들 수 있다.
내용
제어문{조건문, 반복문} 과 입/출력문{print, printf} 으로 구성된다.
제어문은 쉘 스크립트의 기본 문법과 매우 유사하며, 입/출력문은 C 언어 문법과 유사하다.
리눅스 awk 프로그래밍
2024/08/21 02:14
Linux
내용
Crontab 이 중복 실행 되는 버그가 있다.
1분마다 동일한 Cron 이 계속 실행된다.
아래와 같이 해결할 수 있다.
리눅스 Cron 중복 실행 버그
2024/08/21 02:13
Linux
배경
AWS EKS Cluster 의 새로운 인증 방식인 AccessEntry 에 대한 정리 한다.
내용
AWS-AUTH
보통 엔지니어가 AWS EKS Cluster 를 구성할 때는 아래와 같은 방법들이 있다.
•
Hashicorp Terraform
•
AWS 콘솔에서 수동 구성
•
AWS CloudFormation
•
YAML {eksctl}
아마도 어떤 방법이였던간에 AWS EKS Cluster 를 배포한 이후, 해당 EKS 로 접근을 시도하면 Access Denied 가 발생할 수 있다.
엔지니어의 IAM 권한이 AdministratorAccess 포함되어있다고해도 AWS 콘솔에서 EKS Cluster 의 리소스를 확인 해보면 아래처럼 주요 리소스들은 볼 수 없다.
EKS Cluster 새로운 인증 방식 AccessEntry 에 대한 정리
2024/08/19 10:37
Kubernetes
EKS
배경
EKS Cluster 의 WorkerNode EBS 볼륨 증설을 위한 정리이다.
내용
EKS 를 사용하다보면 WorkerNode 의 볼륨을 증설할 시기가 찾아온다.
EKS 지만 WorkerNode 는 EC2 이기 때문에 기존 방식대로 증설을 하면 된다.
다만, 차이가 조금 있다.
증설
AWS 콘솔에서 작업
터미널에서 작업
파일 시스템을 확인한다.
EKS 의 WorkerNode 볼륨 증설
2024/08/19 10:22
AWS
tfenv install
tfenv는 Terraform Version를 CLI로 관리할 수 있는 툴이다.
tfenv가 아닌 Terraform 로만 설치한 경우 tfenv를 위해 한 번 삭제하는 것을 권장한다.
tfenv Version install
tfenv Version use
tfenv로 Version 을 설정할 수 있다.
tfenv Version list
현재 tfenv 로 관리하고 있는 Version 을 확인할 수 있다.
Terraform Version확인
위에서 tfenv설정을 완료하고 Terraform Version이 tfenv에 의해 설정이 되어있는지 확인한다.
Terraform{테라폼} Version 관리
2024/08/13 14:35
Terraform
Load more
CATEGORIES
카테고리
Search
Devops 엔지니어
27
gRPC 테스트 툴 정리
Monitoring
gRPC
gRPC 테스트 툴 정리
Monitoring
gRPC
Logstash 메모리 힙 정리
Monitoring
OpenSearch
Kubernetes
Logstash 메모리 힙 정리
Monitoring
OpenSearch
Kubernetes
Filebeat 정리
Monitoring
OpenSearch
Kubernetes
Filebeat 정리
Monitoring
OpenSearch
Kubernetes
OpenSearch 인덱스 자동 정리
Monitoring
OpenSearch
OpenSearch 인덱스 자동 정리
Monitoring
OpenSearch
OpenSearch 명령어 정리
Monitoring
OpenSearch
OpenSearch 명령어 정리
Monitoring
OpenSearch
OpenSearch 정리
Monitoring
OpenSearch
OpenSearch 정리
Monitoring
OpenSearch
Telegraf, InfuxDB, Chronograf 설치 가이드
Monitoring
Telegraf
InfluxDB
Chronograf
Telegraf, InfuxDB, Chronograf 설치 가이드
Monitoring
Telegraf
InfluxDB
Chronograf
웹 통신의 흐름
Web
웹 통신의 흐름
Web
배포툴 Rundeck
OpenSource
배포툴 Rundeck
OpenSource
FreeFileSync
OpenSource
FreeFileSync
OpenSource
Load more
Study&Language
3
Golang - 5장
Golang
Golang - 5장
Golang
Golang - 4장
Golang
Golang - 4장
Golang
Golang - 3장
Golang
Golang - 3장
Golang
AWS
1
EKS 의 WorkerNode 볼륨 증설
AWS
EKS 의 WorkerNode 볼륨 증설
AWS
Kubernetes
13
Kubernetes 에서 Secret 을 안전하게 보호하기 위한 Sealed Secrets 구성 방법
Kubernetes 에서 Secret 을 안전하게 보호하기 위한 Sealed Secrets 구성 방법
Istio ServiceEntry - 외부 서비스에 대한 흐름 파악을 위한 가시성 확보
Istio
ServiceMesh
Istio ServiceEntry - 외부 서비스에 대한 흐름 파악을 위한 가시성 확보
Istio
ServiceMesh
ArgoRollout extension - ArgoRollout Dashboard - ArgoRollout
Kubernetes
ArgoCD
CICD
ArgoRollout extension - ArgoRollout Dashboard - ArgoRollout
Kubernetes
ArgoCD
CICD
Istio 서비스메시의 아키텍처 [컨트롤 플레인과 데이터 플레인]
Istio
ServiceMesh
Istio 서비스메시의 아키텍처 [컨트롤 플레인과 데이터 플레인]
Istio
ServiceMesh
쿠버네티스 Pod 헬스 체크
Kubernetes
쿠버네티스 Pod 헬스 체크
Kubernetes
EKS Cluster 새로운 인증 방식 AccessEntry 에 대한 정리
Kubernetes
EKS
EKS Cluster 새로운 인증 방식 AccessEntry 에 대한 정리
Kubernetes
EKS
K9S
Kubernetes
Tools
K9S
Kubernetes
Tools
쿠버네티스 Helm Values Data 를 보호하기 위한 Helm Secret 과 Argo 연동
Kubernetes
Helm
쿠버네티스 Helm Values Data 를 보호하기 위한 Helm Secret 과 Argo 연동
Kubernetes
Helm
쿠버네티스 Helm Chart 의 구조
Helm
쿠버네티스 Helm Chart 의 구조
Helm
쿠버네티스 Helm Chart 에 대한 정리
Kubernetes
Helm
쿠버네티스 Helm Chart 에 대한 정리
Kubernetes
Helm
Load more