전체 글
-
Kubernetes에는 Secret이라는 오브젝트가 존재한다.중요한 정보들을 담는데 어떻게 하면 더 보안을 높일 수 있는 2가지 방안이 존재한다.Secret이란먼저 Secret이란db password나 ssh 키, 토큰 등 민감한 정보를 저장하고 관리하기 위해 사용되는 오브젝트이다.ConfigMap과 사용 방법 등 비슷한 면이 많지만 Secret은 좀 더 보안이 중요한 정보들을 안전하게 관리하기 위한 것이다.Secret 종류로는 아래와 같이 8종류가 있다.Opaque일반적인 용도로 사용되며, 특정 데이터 구조를 따르지 않습니다.kubernetes.io/service-account-token서비스 계정을 위한 토큰을 자동으로 생성하고 관리합니다.kubernetes.io/dockercfgDocker 레지스트..
SealedSecret 소개 및 사용Kubernetes에는 Secret이라는 오브젝트가 존재한다.중요한 정보들을 담는데 어떻게 하면 더 보안을 높일 수 있는 2가지 방안이 존재한다.Secret이란먼저 Secret이란db password나 ssh 키, 토큰 등 민감한 정보를 저장하고 관리하기 위해 사용되는 오브젝트이다.ConfigMap과 사용 방법 등 비슷한 면이 많지만 Secret은 좀 더 보안이 중요한 정보들을 안전하게 관리하기 위한 것이다.Secret 종류로는 아래와 같이 8종류가 있다.Opaque일반적인 용도로 사용되며, 특정 데이터 구조를 따르지 않습니다.kubernetes.io/service-account-token서비스 계정을 위한 토큰을 자동으로 생성하고 관리합니다.kubernetes.io/dockercfgDocker 레지스트..
2024.05.27 -
2024.04.17 - [Cloud/Kubernetes] - Kubernetes Volume - emptyDir 사용해보기 Kubernetes Volume - emptyDir 사용해보기 emptyDir은 Pod 내의 Container 간의 볼륨 마운트를 위한 오브젝트이다. 주의할 점은, Pod와 Lifecycle이 같기 때문에 Pod가 삭제되면 같이 삭제되니만, emptyDir로 sideCar나 앰버서더 와 같은 다양한 디자인패 cstory-bo.tistory.com 위의 포스팅에서 설명한 emptyDir을 토대로 log를 수집하고 분석한 후 elasticsearch로 전달하는 사이드카 디자인 패턴을 구현할 수 있다. vi tomcat.yaml apiVersion: apps/v1 kind: Deploym..
Kubernetes Volume - emptyDir로 sideCar 디자인패턴 구현하기 ( logstash -> elasticsearch)2024.04.17 - [Cloud/Kubernetes] - Kubernetes Volume - emptyDir 사용해보기 Kubernetes Volume - emptyDir 사용해보기 emptyDir은 Pod 내의 Container 간의 볼륨 마운트를 위한 오브젝트이다. 주의할 점은, Pod와 Lifecycle이 같기 때문에 Pod가 삭제되면 같이 삭제되니만, emptyDir로 sideCar나 앰버서더 와 같은 다양한 디자인패 cstory-bo.tistory.com 위의 포스팅에서 설명한 emptyDir을 토대로 log를 수집하고 분석한 후 elasticsearch로 전달하는 사이드카 디자인 패턴을 구현할 수 있다. vi tomcat.yaml apiVersion: apps/v1 kind: Deploym..
2024.04.17 -
emptyDir은 Pod 내의 Container 간의 볼륨 마운트를 위한 오브젝트이다. 주의할 점은, Pod와 Lifecycle이 같기 때문에 Pod가 삭제되면 같이 삭제되니만, emptyDir로 sideCar나 앰버서더 와 같은 다양한 디자인패턴을 구현할 수 있다. non-persistent volume이라고도 한다. vi emptyDir.yaml 으로 yaml 파일 생성한다. 아래 readonly 옵션으로 권한도 제어할 수 있다. apiVersion: v1 kind: Pod metadata: name: pod-vol1 labels: app: test spec: containers: - image: dbgurum/k8s-lab:initial name: container1 volumeMounts: - n..
Kubernetes Volume - emptyDir 사용해보기emptyDir은 Pod 내의 Container 간의 볼륨 마운트를 위한 오브젝트이다. 주의할 점은, Pod와 Lifecycle이 같기 때문에 Pod가 삭제되면 같이 삭제되니만, emptyDir로 sideCar나 앰버서더 와 같은 다양한 디자인패턴을 구현할 수 있다. non-persistent volume이라고도 한다. vi emptyDir.yaml 으로 yaml 파일 생성한다. 아래 readonly 옵션으로 권한도 제어할 수 있다. apiVersion: v1 kind: Pod metadata: name: pod-vol1 labels: app: test spec: containers: - image: dbgurum/k8s-lab:initial name: container1 volumeMounts: - n..
2024.04.17 -
쿠버네티스를 관리하기 위한 관리도구 중 대시보드로 쉽고 편리하게 관리할 수 있다. 쿠버네티스 관리도구 중 대시보드는 모든 데이터에 접근하기 위한 admin 권한을 가지고 있기에 보안이 중요하다. 대시보드 방법들은 크게 3가지가 있다. webUI를 제공하는 k8s 관리도구 방법들 kubectl proxy → GKE + dashboard APIserver(6443) → kubectl cluster-info api server를 이용한 접근방식 권장 NodePort service type https://github.com/kubernetes/dashboard/releases 이 중에서 2번째 방법을 사용하려고 한다. kubernetes-dashboard 생성 student@k8s-master:~$ kubect..
kubernetes(k8s) 인증서 있는 대시보드 생성쿠버네티스를 관리하기 위한 관리도구 중 대시보드로 쉽고 편리하게 관리할 수 있다. 쿠버네티스 관리도구 중 대시보드는 모든 데이터에 접근하기 위한 admin 권한을 가지고 있기에 보안이 중요하다. 대시보드 방법들은 크게 3가지가 있다. webUI를 제공하는 k8s 관리도구 방법들 kubectl proxy → GKE + dashboard APIserver(6443) → kubectl cluster-info api server를 이용한 접근방식 권장 NodePort service type https://github.com/kubernetes/dashboard/releases 이 중에서 2번째 방법을 사용하려고 한다. kubernetes-dashboard 생성 student@k8s-master:~$ kubect..
2024.04.11 -
특성 중앙 집중식 로그 메트릭 정의 로그 데이터를 단일 위치에 표준화된 형식으로 수집, 저장 및 분석하는 시스템입니다. 시스템의 성능과 상태를 측정하기 위해 수집된 정량적 데이터입니다. 목적 애플리케이션과 시스템의 작동 상태를 이해하고, 문제 해결과 시스템의 성능 분석을 위함입니다. 시스템의 성능을 모니터링하고, 문제를 예방하며, 의사 결정을 지원하기 위함입니다. 데이터 유형 텍스트 기반의 로그 메시지로, 시스템 이벤트, 에러 메시지, 트랜잭션 정보 등이 포함됩니다. 숫자 형태의 데이터로, CPU 사용률, 메모리 사용량, 응답 시간, 트래픽 양 등이 포함됩니다. 사용 사례 오류 추적, 시스템 이벤트 모니터링, 보안 위반 감지 등입니다. 리소스 사용률 모니터링, 성능 트렌드 분석, 용량 계획 등입니다. 모..
AWS Serverless Observability Workshop - 2. Centralized Logging 중앙 집중식 로그특성 중앙 집중식 로그 메트릭 정의 로그 데이터를 단일 위치에 표준화된 형식으로 수집, 저장 및 분석하는 시스템입니다. 시스템의 성능과 상태를 측정하기 위해 수집된 정량적 데이터입니다. 목적 애플리케이션과 시스템의 작동 상태를 이해하고, 문제 해결과 시스템의 성능 분석을 위함입니다. 시스템의 성능을 모니터링하고, 문제를 예방하며, 의사 결정을 지원하기 위함입니다. 데이터 유형 텍스트 기반의 로그 메시지로, 시스템 이벤트, 에러 메시지, 트랜잭션 정보 등이 포함됩니다. 숫자 형태의 데이터로, CPU 사용률, 메모리 사용량, 응답 시간, 트래픽 양 등이 포함됩니다. 사용 사례 오류 추적, 시스템 이벤트 모니터링, 보안 위반 감지 등입니다. 리소스 사용률 모니터링, 성능 트렌드 분석, 용량 계획 등입니다. 모..
2024.04.10 -
AWS에 직접 따라하면서 배울 수 있는 document를 제공하는 것을 알게되었다. 그래서 그 중 하나를 선택해서 직접 따라해보고 정리해보았다! 내가 선택한 것은 AWS Serverless Observability Workshop이다. 다른 흥미로운 것들도 많았지만 Observability에 관심이 많아져서 AWS에서 하는 Observability가 궁금해 선택하였다. AWS Serverless Observability Workshop Workshop LINK : https://catalog.us-east-1.prod.workshops.aws/workshops/b3fc5f7a-ff34-41fa-a9f2-4cd9e093e6ff/en-US Set up 아래 환경 생성 클릭 반드시 Amazon Linux 2 ..
AWS Serverless Observability Workshop - 1. Introduction & Metrics and Dashboard & CanaryAWS에 직접 따라하면서 배울 수 있는 document를 제공하는 것을 알게되었다. 그래서 그 중 하나를 선택해서 직접 따라해보고 정리해보았다! 내가 선택한 것은 AWS Serverless Observability Workshop이다. 다른 흥미로운 것들도 많았지만 Observability에 관심이 많아져서 AWS에서 하는 Observability가 궁금해 선택하였다. AWS Serverless Observability Workshop Workshop LINK : https://catalog.us-east-1.prod.workshops.aws/workshops/b3fc5f7a-ff34-41fa-a9f2-4cd9e093e6ff/en-US Set up 아래 환경 생성 클릭 반드시 Amazon Linux 2 ..
2024.04.10 -
도커를 더욱 이해하기 위해서 아래 그림을 직접 그려보았다. Docker 개요 사람들은 왜 도커를 사용할까 도커를 사용하면 복잡한 앱을 여러 컨테이너로 통합하여 실행할 수 있다. (하나로 합치는 것이 아닌 연결된 msa) 추가로 alpine이 붙는 이미를 사용하면 더욱 가벼워진다. vm과 비교를 해보면 VM - 하이퍼바이저 위에 [따로 kernel Space와 User Space만들어줌 ]→ 가상화 컨테이너 - 하이퍼바이저와 Kernel Space 위에 [User Space 만들어줌] → 가상화 무거운 Kernel Space가 컨테이너에는 빠져있기 때문에 이처럼 경량화가 가능하다. 이처럼 커널이 빠질 수 있는 것은 LXC라는 기술 덕분이다. LXC Linux Container 기술을 이용하며 kernel의..
Docker Architecture 그림으로 이해하기도커를 더욱 이해하기 위해서 아래 그림을 직접 그려보았다. Docker 개요 사람들은 왜 도커를 사용할까 도커를 사용하면 복잡한 앱을 여러 컨테이너로 통합하여 실행할 수 있다. (하나로 합치는 것이 아닌 연결된 msa) 추가로 alpine이 붙는 이미를 사용하면 더욱 가벼워진다. vm과 비교를 해보면 VM - 하이퍼바이저 위에 [따로 kernel Space와 User Space만들어줌 ]→ 가상화 컨테이너 - 하이퍼바이저와 Kernel Space 위에 [User Space 만들어줌] → 가상화 무거운 Kernel Space가 컨테이너에는 빠져있기 때문에 이처럼 경량화가 가능하다. 이처럼 커널이 빠질 수 있는 것은 LXC라는 기술 덕분이다. LXC Linux Container 기술을 이용하며 kernel의..
2024.04.09 -
Docker는 CPU 제한을 하지 않으면 unlimited로 무제한으로 사용한다. 컨테이너에서 제한하면 이에 따라 cgroup이 리소스를 제공한다. CPU Time Scheduling CPU 사용시간 제어 - 기본값은 1024이다. lscpu 위의 커맨드로 현재 hostos의 cpu를 확인할 수 있다. docker run -d --name=cpu-1024 --cpu-shares=1024 leecloudo/stress:1.0 stress --cpu 4 docker run 할 떄 위 처럼 옵션을 주면, cpu 작업 시간을 제한할 수 있다. cpu register에 등록되어 제어가 된다. 위에처럼 stress로 부하테스트를 하면 이렇게 htop에서 cpu가 가득 차는 것을 확인할 수 있다. student@ho..
Docker CPU 제어하기Docker는 CPU 제한을 하지 않으면 unlimited로 무제한으로 사용한다. 컨테이너에서 제한하면 이에 따라 cgroup이 리소스를 제공한다. CPU Time Scheduling CPU 사용시간 제어 - 기본값은 1024이다. lscpu 위의 커맨드로 현재 hostos의 cpu를 확인할 수 있다. docker run -d --name=cpu-1024 --cpu-shares=1024 leecloudo/stress:1.0 stress --cpu 4 docker run 할 떄 위 처럼 옵션을 주면, cpu 작업 시간을 제한할 수 있다. cpu register에 등록되어 제어가 된다. 위에처럼 stress로 부하테스트를 하면 이렇게 htop에서 cpu가 가득 차는 것을 확인할 수 있다. student@ho..
2024.03.25