개요 기본적으로 Kubernetes는 클러스터 내에서 실행되는 Pod 간 트래픽을 제한하지 않는다. 이와 같은 특징은 때때로 보안과 성능 또는 장애와 연관이 되는 문제들이 발생할 수 있다. NetworkPolicy는 Pod간 통신을 제어하는 오브젝트이다. 통신이 허용되는 네임스페이스를 지정하거나 더 구체적으로 각 정책을 적용할 수 있다. 즉 NetworkPolicy는 Pod 간 ACL을 수행하는 Kubernetes 오브젝트이다. NetworkPolicy는 실시간으로 적용되며, Pod 간에 연결이 열려 있는 경우 해당 연결을 방지하는 NetworkPolicy를 적용하면 연결이 즉시 종료된다. 제약조건 NetworkPolicy는 Inbound 트래픽과 Outbount 트래픽을 구분하여 정의할 수 있으며, 사..
개요 Kubernetes는 강력한 확장성과 안정성을 제공하는 Container Management Platform으로 이미 대표적인 클라우드 컴포넌트로 자리를 확고히 하고 있다. 많은 기업에서 Kubernetes를 활용하고 있지만, 정작 Container에 대한 보안이나, Kubernetes에 대한 보안 정책은 자리잡지 못하고 있으며, 이로 인해 보안 침해 사고가 터져 나오고 있는 실정이다. 보안문제는 개인이나, 중-소 규모의 기업에서 온전히 대응하는 것은 조직을 구축하는 것부터 체계를 수립하는 것까지 쉽지 않은 일이라는 점때문에 여전히 대응 방안을 수립하기 어려운 실정이다. 이에 여러 오픈소스 소프트웨어들의 조합으로 최소한의 문제들을 진단하고 사전에 검증할 수 있는 방법을 살펴보도록 하자. 지금부터 프..
개요 Polaris는 Kubernetes Pod 및 Controller가 모범 사례를 사용하여 구성되었는지 확인하기 위해 다양한 검사를 실행하여 향후 발생 가능한 문제를 사전에 방지하는데 도움을 주는 도구이다. Polaris는 세 가지 모드로 실행할 수 있다. 대시보드로 클러스터 내에서 실행 중인 항목을 감사할 수 있다. 승인 컨트롤러로서 조직의 정책을 준수하지 않는 워크로드를 자동으로 거부할 수 있다. CLI로 CI/CD 프로세스의 일부로 로컬 YAML 파일을 테스트할 수 있다. 설치 대시보드는 아래와 같이 yaml 파일을 통해 다운로드 받아 설치 할 수 있다. yaml 파일위치는 각 최신 버전을 기준으로 아래 경로에서 다운로드 받을 수 있다. https://github.com/FairwindsOps/..
Kubernetes Tools 활용 Kubernetes는 수많은 api의 조합으로 이뤄져 있다. 이를 조합하여 Kubernetes를 효율적으로 운영할 수 있는 다양한 도구를 만들어 낼 수 있다. 이미 수많은 플러그인이 개발되어 활용되고 있으며, 개발환경은 물론 운영환경에서도 효과적으로 사용할 수 있다. 지금부터는 Kubernetes를 사용하는 환경에 적용하기 용이한 플러그인들을 소개하고 직접 구축해 보도록 하자. kubectl krew 먼저 살펴볼 내용은 kubernetes cli 도구 kubectl의 플러그인을 관리하는 패키지 매니저 krew에 대해 알아보자. krew를 사용하면, 손쉽게 kubernetes 관련 플러그인들을 설치할 수 있다. https://github.com/kubernetes-sig..
개요 Pod는 Kubernetes에 어플리케이션을 배치하기 위한 최소 오브젝트 단위이다. 하나 이상의 컨테이너를 가질 수 있고, 짧은 라이프사이클을 통해 생성되고 삭제된다. 마이크로서비스와 같은 분산 환경에서 수 많은 Pod 들의 상태를 관리하는 것은 굉장히 어려운 일이다. 컨테이너로 세분화 된 어플리케이션은 잦은 상태 변화(Pod의 동작에 이상이 발생하거나, 상태가 변화할 경우)가 발생되며, 이에 따른 변화 요소를 수동으로 찾아가기 어렵기 때문에, 시스템이 스스로 감지하고 해결해야 하며, 이 모든 작업은 자동으로 수행될 수 있도록 구축해야 한다. 또한, 분산 시스템의 경우 실패 처리가 핵심이다. Container Management Platform은 시스템 상태를 감시하고 수행이 중지된 서비스를 다시 ..
개요 Kubernetes는 Cluster, User, Namespace를 조합한 Context라는 오브젝트를 제공한다. Context는 독립적인 단위로 흔히 우리가 생각하는 클러스터를 Context 단위로 볼 수도 있지만, 사실 그보다 더 세분화된 단위라고 볼 수 있다. 이번 포스팅에서는 멀티 Cluster 환경에 각 클러스터에 보다 빠르게 접근하여 변경을 관리할 수 있는 Context 적용 방법에 대해 알아보도록 하자. 멀티 클러스터 접근 구성 Kubernetes 클러스터를 처음 설정할 때 $HOME/.kube 디렉토리에 config 파일이 생성된다. config 파일은 우리가 흔히 이야기 하는 kubeconfig 파일이며, Kubernetes 클러스터와의 연결에 대한 정보를 저장하는데 사용된다. ku..
개요 MSA 환경에서 Telemetry의 중요성은 이미 수많은 포스팅과 수많은 포스터들로 부터 강조되어 왔으며, 이미 많은 자료들을 통해 활용 방안들이 다뤄지고 있다. Telemetry는 로깅, 모니터링, 추적 기능을 포괄하여 분산 트랜잭션 환경에서 효과적인 유지보수를 수행할 수 있도록 지원하는 도구이자, 무엇보다 자동화된 수집체계를 구성하는 것이 중요하다. 이번 포스팅에서는 msa 환경에서 가장 많이 활용되는 로깅 컴포넌트로 ElasticSearch 기반의 EFK를 다뤄보도록 하자. 포스팅에서는 EFK 구성 설계, EFK 구축, EFK 활용으로 나누어 작성하고자 한다. EFK 구성 설계 ElasticSearch는 실시간 검색/분석 기능을 제공하고, 분산환경에 저장되어 있는 로그를 통합으로 수집함으로써 ..
개요 큰 규모의 프로젝트에서는 개발자가이드나 코드리뷰 만으로 소스코드 내에 산재되어 있는 잠재적인 문제점을 모두 찾아내기 어렵다. 따라서 소스코드 전체를 일괄로 스캔하여 문제가 되는 패턴을 자동으로 찾아서 수정할 수 있는 도구의 도입은 반드시 필요하다. 대표적인 정적분석 도구 중 하나인 PMD에 대해 알아보도록 하자. PMD, SpotBugs(FindBugs), SonarQube 등 정적분석도구는 소스코드에 대한 inspection을 강화하여 이후 발생가능한 이슈들을 개발단계에서 점검하는 도구이다. STS(Spring-Tool-Suit) PMD Plugin 적용 1) Help > Eclipse Marketplace 2) Search > PMD > PMD Install 한 차례 리스타트 후 pmd 정적분석..
개요 DevOps는 최근 가속화 되고 있는 추세이다. 특히 조직의 변화가 어려운 기업에서도 DevOps에 관심을 갖고 체계를 수립해 보고자 변화의 자세를 갖고 있다. 현재 프로젝트 중인 a은행에서도 DevOps에 대한 제언을 요청하고 있으며, 조직과 프로세스 그리고 도구 관점에서 제언할 수 있는 부분들을 지속적으로 검토하고 있다. 특히 Security 관점에서 DecSecOps에 대한 논의 역시 이루어지고 있다. 전체 프로세스에 대한 부분은 이후 다시한번 다뤄보도록 하고, 이번 포스팅에서는 Ops 관점에서 지속적인 배포 프로세스의 속도 개선을 위한 체계 개선 방안 중 하나인 GitOps에 대해 알아보도록 하자. DevOps를 위해 많은 도구들이 도입되고 활용되고 있지만, 그 중 대표적인이면서, 클라우드 ..
개요 마이크로서비스는 서비스간 호출 검증을 위해 Component / Contract Test를 시나리오를 정의하고, 파이프라인 또는 3rd Party 솔루션을 통해 자동 검증할 수 있도록 구성하는 것이 일반적이다. Component Test는 테스트를 수행하는 서비스를 기준으로 테스트 케이스를 정의하고, Contract Test는 서비스에서 제공하는 api를 호출하는 client 기준으로 테스트 케이스를 정의한다. 이와 같은 상호간의 인터페이스를 테스트하기 위해서는 각 서비스가 기동되어 있어야 하지만, 개발부서가 분리되어 있거나, client 입장에서 Contract를 테스트하기 위해서는 보다 번거로운 절차를 통해 테스트를 진행해야 한다. 물론 분산 트랜잭션 환경에서 당연히 거쳐야 하는 과정이지만, 마..
- Total
- Today
- Yesterday
- JBoss
- 오픈스택
- kubernetes
- SWA
- jeus
- JEUS7
- aws
- git
- OpenStack
- openstack tenant
- Da
- 마이크로서비스
- Docker
- openstack token issue
- API Gateway
- JEUS6
- 아키텍처
- 쿠버네티스
- Architecture
- nodejs
- wildfly
- TA
- MSA
- webtob
- k8s
- aa
- 마이크로서비스 아키텍처
- SA
- apache
- node.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |