Cloud
-
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 -
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 -
IPsec VPN 터널링 public network => private network 로 들어가기 위해서는 Dynamic NAT 가 필요하고 private network => public network 로 나가기 위해서는 Static NAT 가 필요하다. private network public network private network 에서 private끼리 통신하기 위해서는 VPN 기술이 필요하며 이떄 터널링이 사용된다. 사설 ip로 public network에서 통신을 할 수 없기 때문에 public ip가 들어있는 header가 하나 더 씌워진다. 패킷이 private network에서 나갈때 public network와 맞닿아 있는 포트의 public ip를 출발지 주소로 가고싶은 private..
IPsec VPN - 설명 & Site-to-Site VPN 과정IPsec VPN 터널링 public network => private network 로 들어가기 위해서는 Dynamic NAT 가 필요하고 private network => public network 로 나가기 위해서는 Static NAT 가 필요하다. private network public network private network 에서 private끼리 통신하기 위해서는 VPN 기술이 필요하며 이떄 터널링이 사용된다. 사설 ip로 public network에서 통신을 할 수 없기 때문에 public ip가 들어있는 header가 하나 더 씌워진다. 패킷이 private network에서 나갈때 public network와 맞닿아 있는 포트의 public ip를 출발지 주소로 가고싶은 private..
2024.02.23