DR 개요 Public Cloud와 Hybrid Cloud의 확대는 최근 IT 판도를 돌려놓고 있다. 수 많은 기업들이 차세대 프로젝트와 함께 어플리케이션 현대화(Application Modernization)를 추구하고 있고, 이를 실현하기 위해 Cloud Native으로 전환을 시도하고 있다. Cloud Native Application은 확장성, 민첩성, 복원성, 유연성, 장애복구성 등을 제공하는 분산 트랜잭션/분산 컴퓨팅 환경에 맞게 어플리케이션을 설계 및 개발하는 방식을 의미하며, 이는 Legacy System과는 다른 요소들을 포함하고 있다. 그 중 하나가 바로 이번 포스팅의 주제인 클라우드 DR의 변화이다. Public Cloud는 DR이라는 개념을 Multi AZ(Availiable Zon..
개요 이번 포스팅은 AWS Code Series 파이프라인 구성 과정에 대해 알아보도록 하자. ① AWS EKS 환경에 MariaDB 구축 ② AWS Code Series 파이프라인 구축 AWS Code Series 파이프라인 구축 AWSCLI & AWS CodeCommit Eclipse AWS Toolkit & AWS CodeCommit 주요 Configuration File 확인 AWS CodeBuild AWS CodePipeline AWSCLI & AWS CodeCommit 먼저 AWS CodeCommit과의 통합을 위해 Windows 환경에 AWS Credential을 연결해야 한다. AWS Credential을 연결하는 방법은 Eclipse에서 직접 연결하는 방법과 Windows CLI에서 gi..
개요 이번 포스팅에서는 AWS EKS 환경에 배포되어 있는 어플리케이션과 연동하기 위해 MariaDB를 Kubernetes에 배포해 보자. ① AWS EKS 환경에 MariaDB 구축 ② AWS Code Series 파이프라인 구축 AWS EKS 환경에 MariaDB 구축 Amazon EFS CIS 드라이버 배포 및 테스트 Amazon EFS CIS 드라이버 설치 Amazon EFS CIS 드라이버 배포 Amazon EFS CSI 드라이버 테스트 AWS EKS에 MariaDB 설치 MariaDB 테스트 Amazon EFS CSI 드라이버 배포 및 테스트 CSI 드라이버의 서비스 계정이 AWS API를 호출할 수 있도록 허용하는 IAM ROLE을 생성한다. 1. GitHub에서 IAM 정책 문서 다운로드 ..
개요 클라우드 환경에서의 가용성 테스트는 레가시 환경과는 다르다. 직접 테스트를 수행하면서 알게된 Lessons learned을 통해 Kubernetes Node Failover에 대한 가용성 검증 과정에 대해 알아보자. Kubernetes가 관리하는 클러스터 내의 노드 장애 발생 시 어떻게 빠르게 인지하고 대응할 것인지 과정에 대해 검증해 보고, 최적 구성에 대해 알아보자. Kubernetes 노드 가용성 관련 구성 1) kubelet node-status-update-frequency : default 10s (api-server에 노드의 상태를 게시하는 주기) / recommand 4s node-status-report-frequency : default 5m (node-status-update-f..
개요 Pod는 Kubernetes의 최소 배포 단위이다. 어플리케이션은 Container로 구성되지만, Kubernetes에 배포하여 서비스하기 위해서는 Pod의 일부로 동작해야 한다. Kubernetes Object는 다음과 같은 종속성을 갖고 동작한다. Pod는 컨테이너 Spec을 포함하여 선언되며, 하나 이상의 컨테이너를 선언할 수 있다. 이때 각 컨테이너는 독립된 어플리케이션으로 구성되며, 독립된 Process로 기동된다. 이로 인해 가능하면 Pod 당 1개의 Container 구성을 권고하지만, 때로 Multi Container 구성이 필요한 경우가 있다. 지금부터 Multi Container를 설계하는 프로젝트에서 고려해야 할 사항에 대해 알아보자. Multi Container 설계 고려 사항..
개요 Cloud 환경은 복잡한 인프라로 구성되어 있어 그 일관성을 항상 유지하는 것은 어려운 일이다. 특히 확장성있게 증가하는 인프라 환경을 사람의 힘으로 관리하는 것은 민첩성과 안정성을 저해하는 요소가 된다. 이에 인프라를 코드로 관리하는 '코드형 인프라(IaC)'가 등장하게 되었고, 이를 통해 일관된 클라우드 인프라를 관리할 수 있게 되었다. 대표적인 IaC로는 Terraform이 있으며, AWS에는 CloudFormation이 있다. 이번 포스팅부터 Terraform 활용에 대해서는 별도 목차를 구분하여 작성하고자 한다. 그 첫 시간으로 Terraform을 사용하여 EC2 인스턴스를 생성하는 과정에 대해 알아보도록 하자. Terraform 설치 아래와 같이 yum package manager를 통해..
개요 Kubernetes는 수 많은 객체들의 집합으로 구성되어 있으며, 이는 확장성 가능하게 구성되어 클러스터 내 장애 상황을 식별하는 것은 굉장히 번거로운 일이라고 볼 수 있다. 이로 인해 Kubernetes 클러스터 내의 다양한 각도에서 모니터링할 수 있는 환경을 구성하는 것은 장애 발생으로 인한 가동 중지 시간을 줄이거나 피할 수 있다. 대표적인 장애 상황은 다음을 예로 들 수 있다. 노드 문제 : 실패 상태의 Docker 데몬/Kubelet, CNI 실패로 인한 할당되지 않은 IP 주소 등 포드 문제 : Health Check 실패, Running 상태가 아닌 포드 등 네임스페이스 문제 : Pod를 배치할 수 없는 Namespace DNS 확인 문제 : CoreDNS lookup 실패 네트워크 문..
개요 Kubernetes가 대세로 자리 잡은 이후 다양한 3rd Party 솔루션과의 연동이슈는 끊임없이 발생하고 있다. Container Orchestrator(CO)와의 단일화된 인터페이스를 제공하기 위해 CRI(Container Runtime Interface), CNI(Container Network Interface), CSI(Container Storage Interface)가 등장하고 발전해 오고 있다. CSI의 등장이전에는 특정 볼륨에 대한 연결 방식을 Kubernetes가 제공하는 방식으로 구현되었다. 하지만 새로운 볼륨 플러그인이 지속적으로 추가되고, 특히 특정 볼륨을 제공하는 솔루션의 버전 변화에 일일이 대응하기에는 어려움이 있었다. 또한 볼륨 스토리지와의 연결을 위해 SDK 코드가 ..
개요 기본적으로 Kubernetes는 클러스터 내에서 실행되는 Pod 간 트래픽을 제한하지 않는다. 이와 같은 특징은 때때로 보안과 성능 또는 장애와 연관이 되는 문제들이 발생할 수 있다. NetworkPolicy는 Pod간 통신을 제어하는 오브젝트이다. 통신이 허용되는 네임스페이스를 지정하거나 더 구체적으로 각 정책을 적용할 수 있다. 즉 NetworkPolicy는 Pod 간 ACL을 수행하는 Kubernetes 오브젝트이다. NetworkPolicy는 실시간으로 적용되며, Pod 간에 연결이 열려 있는 경우 해당 연결을 방지하는 NetworkPolicy를 적용하면 연결이 즉시 종료된다. 제약조건 NetworkPolicy는 Inbound 트래픽과 Outbount 트래픽을 구분하여 정의할 수 있으며, 사..
개요 Kubernetes는 강력한 확장성과 안정성을 제공하는 Container Management Platform으로 이미 대표적인 클라우드 컴포넌트로 자리를 확고히 하고 있다. 많은 기업에서 Kubernetes를 활용하고 있지만, 정작 Container에 대한 보안이나, Kubernetes에 대한 보안 정책은 자리잡지 못하고 있으며, 이로 인해 보안 침해 사고가 터져 나오고 있는 실정이다. 보안문제는 개인이나, 중-소 규모의 기업에서 온전히 대응하는 것은 조직을 구축하는 것부터 체계를 수립하는 것까지 쉽지 않은 일이라는 점때문에 여전히 대응 방안을 수립하기 어려운 실정이다. 이에 여러 오픈소스 소프트웨어들의 조합으로 최소한의 문제들을 진단하고 사전에 검증할 수 있는 방법을 살펴보도록 하자. 지금부터 프..
- Total
- Today
- Yesterday
- JEUS7
- 아키텍처
- openstack tenant
- API Gateway
- Da
- k8s
- webtob
- TA
- JEUS6
- 오픈스택
- SA
- git
- MSA
- apache
- SWA
- aa
- Architecture
- JBoss
- openstack token issue
- jeus
- node.js
- nodejs
- 쿠버네티스
- OpenStack
- 마이크로서비스
- 마이크로서비스 아키텍처
- kubernetes
- Docker
- aws
- wildfly
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |