끄적끄적

개발/DevOps

Jira DC 제품의 SSO 연동 및 DR 구축 방안 사례

1. Jira DC 제품의 SSO 연동 방식과 사례1.1 SAML 2.0 연동 아키텍처 및 메커니즘Jira Data Center는 외부 IDP(Identity Provider)와 SAML 2.0 프로토콜을 통해 인증을 위임한다.(SAML 2.0는 세계 표준)주요 용어 정의:Service Provider (SP): Jira Data Center (인증을 요청하는 주체)Identity Provider (IdP): Google, Okta, Azure AD (인증을 수행하는 주체)SAML Assertion: 인증 성공 후 IdP가 SP에게 전달하는 보안 토큰 (XML 기반)인증 흐름 (Browser-based SSO):사용자가 Jira 접속 시 로그인이 필요하면 Jira는 IdP의 SSO URL로 리다이렉트합니..

개발/DevOps

[Kubenetes] 사용자 정의 리소스 - Custom Resource, Custom Controller, Operator 패턴

사용자 정의 리소스란Custom Resource쿠버네티스 API를 원하는 대로 확장한 리소스예로 쿠버네티스 코어 API에 Pod 라는 리소스가 있지만 사용자가 원하는 특별한 기능을 더한 MyPod라는 리소스를 새롭게 정의할 수 있습니다.이는 사용자가 쉽게 API를 확장할 수 있도록 CustomResourceDefinition을 제공합니다.# mypod-crd.yamlapiVersion: apiextensions.k8s.io/v1beta1kind: CustomResourceDefinitionmetadata: name: mypods.crd.example.comspec: group: crd.example.com version: v1 scope: Namespaced names: plural: my..

개발/DevOps

[Kubenetes] 접근제어 - Network Policy, Ingress & Egress, AND & OR

네트워크 접근 제어(Network Policy)k8s에는 Pod의 네트워크 접근을 제어할 수 있는 메커니즘이 존재한다. 다만, 모든 제품이 접근제어기능을 지원하지는 않고 일부 CNI(Container Network Interface)만 지원한다.Network Policy 모듈 설치 - Canalk3s 기본적으로 flannel을 네트워크 제공자로 사용한다. flannel에 Network Policy를 적용하려면 Canal을 설치해야 한다.kubectl apply -f # configmap/canal-config created# ...# serviceaccount/canal created# deployment.apps/calico-kube-controllers created# serviceaccount/ca..

개발/DevOps

[Kubenetes] 접근제어 - HTTP Basic Authentication, X.509 인증서, RBAC

이번엔 쿠버네티스 접근제어 메커니즘에 대해 알아봅시다.접근 제어는 누가 접근하는지 어떤 권한을 가지는지 확인해 정책에 따라 허가 여부를 결정하는 과정입니다.Authentication: 접속한 사람의 신분을 인증하는 단계Authorization: 어떤 권한을 가지고 어떤 행동을 할 수 있는지 확인하는 단계Admission Control: 요청한 내용이 적절한지 확인하는 단계LimitRange, ResourceQuota 기능이 이를 통해 Pod 요청이 적절한지 확인하는 것사용자 인증 (Authentication)쿠버네티스엔 크게 5가지 인증 방식이 있습니다.HTTP AuthenticationX.509 CertificateOpenID ConnectionWebhook 인증Proxy 인증이 중 많이 사용되는 HT..

개발/DevOps

[Kubenetes] 스토리지 - PersistentVolume, PersistentVolumeClaim, StorageClass

쿠버네티스에는 데이터를 제공하는 부분과 마련한 자장소를 사용하는 부분으로 구분지었습니다.PersistentVolume은 클러스터 관리자가 데이터를 어떻게 제공할 것인지에 관한 리소스PersistentVolumeClaim은 일반 사용자가 데이터 저장소를 어떻게 활용할 것인지 정의하는 리소스StorageClass는 클러스터 관리자가 사용자들에게 제공하는 저장소 종류를 나타내 동적으로 저장소를 제공합니다. PersistentVolumePersistentVolume(PV)은 데이터 저장소를 추상화시킨 리소스로,클러스터 관리자가 데이터 저장을 위해 미리 마련한 저장 자원입니다.예로AWS - EBSGCP - PersistentDisklocalhost - localhost volume path 정보 이처럼 다양한 환..

개발/DevOps

[kubernetes] Ingress 리소스 - Basic Auth, cert-manager, Issuer

이번엔 네트워크 7계층의 애플릐케이션 계층에서 외부 트래픽을 처리하는 ingress 리소스에 살펴보겠습니다.많은 웹 서비스는 애플리케이션 계층에서 네트워크 통신을 수행하는데 주로 HTTP. HTTPS를 사용하여 서비스를 제공합니다.쿠버네티스에선 클러스터로 들어오는 트래픽을 관장할 수 있는 메커니즘을 제공합니다. Ingress란?Ingress는 네트워크 7계층에 대한 설정을 담당하는 리소스로 가장 외부 HTTP 호출에 대한 트래픽을 처리하는 역할을 합니다. 부하 분산, TLS 종료, 도메인 기반 라우팅 기능 등을 제공합니다.이는 쿠버네티스 클러스터 내부 서비스에 외부 접근 가능한 URL을 부여해 일반 사용자들이 쉽게 접근할 수 있는 통로를 제공합니다.그에 맞는 Ingress Controller가 존재합니다..

개발/DevOps

[kubernetes] helm 패키지 매니저

애플리케이션 배포시 Deployment, Service, ConfigMap등의 리소스를 개별적으로 생성하는 것이 아닌,하나의 패키지로 묶어서 배포합니다.패키지를 묶어서 관리하면 여러 리소스들을 동시에 추가 및 업그레이드하기가 편리해 지지요.이번엔 쿠버네티스 패키지 매니저 helm에 대해 알아봅시다.helm이란?helm은 쿠버네티스 패키지 매니저입니다. apt, yum, pip 툴과 비슷하게 플랫폼의 패키지를 관리합니다..helm을 이용하여 원하는 소프트웨어를 쿠버네티스에 설치할 수 있지요.이또한 YAML형식으로 구성되어 있으며, 이를 chart라고 합니다. (helm chart 어디서 많이 들어봤던거 같네요) helm chart의 구조는 크게 values.yaml과 templates/ 디렉터리로 구성됩니..

개발/DevOps

[Kubernetes] 쿠버네티스 컨트롤러 2 - StatefulSet, Job & CronJob

StatefulSetStatefulSet은 Stateful한 Pod를 생성해야 하는 경우 사용합니다.Deployment나 ReplicaSet과는 다르게 복제된 Pod가 완벽히 동일하지 않고 순서에 따라 고유의 역할을 가집니ㅏㄷ.동일한 이미지로 Pod를 생성하지만 실행 시, 각기 다른 역할을 가지며 사로의 역할을 교체하지 못할 때 StatefulSet을 사용합니다.프로세서간 서로 치환될 수 없는 클러스터를 구축할 때 많이 사용합니다.예로 동일한 프로세스가 실행 순서에 따라 마스터와 워커가 결정되는 경우를 생각할 수 있습니다. StatefulSet은 상태 정보를 저장하는 애플리케이션에서 사용하는 리소스입니다.Deployment와 유사하게 여러 Pod의 배포와 replica 개수를 관리하지만,statefulS..

개발/DevOps

[Kubernetes] 쿠버네티스 컨트롤러 1 - ReplicaSet, Deployment

쿠버네티스에서는 컨테이너의 복제, 배포, 반복 작업 수행과 같이 복잡한 기능을 수행하는 리소스를 생성할 수 있습니다.이번 글에선 Pod리소스를 기초로 더 다양한 기능을 수행하는 쿠버네티스 컨트롤러에 대해 살펴봅시다.컨트롤러란?컨트롤러는 쿠버네티스의 특정 리소스를 지속적으로 바라보며 리소스의 생명주기에 따라 미리 정해진 작업을 수행하는 주체입니다.컨트롤러는 현재 상태가 사용자가 원한는 상태와 동일해지도록 정해진 작업을 수행합니다.control-loop이라는 루프를 지속적으로 돌며 특정 리소스에 대해 관찰하며,사용자의 요청에 따라 새로운 리소스가 생성되면 바라는 상태가 없데이트 됩니다컨트롤러는 해당 리소스의 바라는 상태가 변경된 것을 인지하고 현재 상태가 바라는 상태와 동일해지도록 정해진 작업을 합니다. ..

예찬예찬
'분류 전체보기' 카테고리의 글 목록