DevOps 22

[kubernetes] Helm으로 Jenkins Deploy

※ 시작 전 EKS Cluster가 구축되어 있어야 한다! ■ k8s Cluster 에 Helm을 이용하여 Jenkins Deploy 1. AWS EBS (Persistent Volume) Pod가 삭제 후 재생성 되어도 Pod 내부의 내용을 보존하기 위해 독립적인 Persistent Volume 필요 필자는 AWS EBS를 Persistent Volume으로 사용할 것 EBS CSI Driver 를 Cluster에 배포하여 EBS를 Persistent Volume으로 사용하도록 세팅하는 과정 ! 1) ServiceAccount에 필요한 권한을 정의한 IAM 정책 생성 'IAM' -> 정책 -> '정책 생성' 정책 내용 : example-iam-policy.json { "Version": "2012-10..

DevOps/Kubernetes 2021.11.12

[kubernetes] EKS Cluster 내부에 AWS RDS 구축

■ RDS 구축 1. DB 서브넷 그룹 생성 ☞ 'DB 서브넷 그룹 생성' 클릭 2. DB 서브넷 그룹 생성 ☞ EKS Cluster 내부에 Private Subnet에 구축하기 위해 가용영역과 하단 서브넷은 Private Subnet만 선택 ! 3. '데이터베이스 생성' 클릭 1) 연결 부분 설정 * VPC : EKS Cluster VPC 선택 * 서브넷 그룹 : 위에 생성한 그룹 선택 * 퍼블릭 액세스 : '예' * VPC 보안 그룹 : 새로 생성 * 추가구성 * 초기 데이터베이스 이름 설정 * 데이터베이스 생성 (시간이 꽤 걸림) ■ Bastion Host로 RDS 접근 1. 기존과 같은 방식으로 EC2 생성 ※ 단, VPC 설정 부분에 생성한 RDS와 같은 VPC 선택 즉, EKS Cluster ..

DevOps/Kubernetes 2021.11.10

[Kubernetes] AWS ALB Controller

■ ALB Controller 란? ■ ALB Controller Install ※ 기존 EKS Cluster가 존재해야 함 1. AWS ALB IAM 정책을 다운로드 (사용자 대신 AWS API를 호출해야 함) $ curl -o iam_policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.2.0/docs/install/iam_policy.json 2. 다운로드 한 정책을 이용해 IAM 정책을 만듬 $ aws iam create-policy \ --policy-name [IAM 정책 이름] \ --policy-document file://iam_policy.json ☞ 정책 생성 시 'IAM..

DevOps/Kubernetes 2021.11.10

[kubernetes] EKS Install

■ Amazon EKS 란? · Kubernetes를 쉽게 실행할 수 있는 관리형 서비스 · AWS 환경에서 Kubernetes Control-plane 또는 node를 직접 설치, 운영 및 유지할 필요가 없음 · 여러 가용 영역(AZ) 에서 Kubernetes Control-plane을 실행하여 고가용성(HA)를 보장 · 비정상 Control-plane Instance를 자동으로 감지, 교체하며 자동화 된 버전 업그레이드 및 패치를 제공 참고 : https://aws-eks-web-application.workshop.aws/ko/10-intro/200-eks.html Amazon EKS로 웹 애플리케이션 구성하기 Amazon EKS Amazon EKS에 대하여 Amazon EKS는 Kubernetes..

DevOps/Kubernetes 2021.10.27

[k8s] kubespray 로 k8s Install

■ k8s (Kubernetes) 란? https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/ 쿠버네티스란 무엇인가? 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하 kubernetes.io · 컨테이너 오케스트레이션 시스템 종류 중 하나 · 어플리케이션 동작이 목적 · 격리된 환경에서 동작할 경우 안전성 확보 · 리눅스 프로세스 자원을 격리 사용 (cgroup / chroot) => Isolate 기능 제공 (컨테이너) 장점 (제공하는 기능) 단점 (지원하지 않는 기능) 컨테이너 플랫폼 (오케스트레이션) ..

DevOps/Kubernetes 2021.10.23

[Vagrant] Vagrant Install

■ Vagrant 란? https://www.lesstif.com/laravelprog/vagrant-24445417.html Vagrant 란 하이퍼바이저를 설치하는 실제 운영체제(윈도, OS X, 리눅스 등)를 호스트(Host) OS 라 하고 하이퍼바이저 위에 만든 가상 머신에 설치된 운영체제를 게스트 OS 라고 부릅니다. www.lesstif.com · 가상 머신에 운영체제(Os)를 설치하고, 개발 환경 구성 대상이 PC 에서 가상 머신으로 옮겨 진 것 외에 달라진 점이 없다는 점에서 오히려 가상머신을 설치하고 관리하여야 하는 부담이 늘었다는 부분을 해결하기 위해, 설정 스크립트를 기반으로 특정 환경의 가상 머신을 만들어 신속하게 개발 환경을 구축하고 공유할 수 있게 만들어진 솔루션 · 사용자가 원..

DevOps/Vagrant 2021.10.22

[Jenkins] Jenkins Install

■ Jenkins 란? · 누군가가 나 대신에 작업을 해주는 역할, 비서라고 생각하면 됨 · CI/CD 도구 (CI/CD는 별개의 기능이지만 최근에는 구분 짓지 않음) · de-facto (사실상 표준) · ansi (미국 표준 협회) · Hudson -> 시작은 Hudson sw 이였으며, Oracle 회사에서 문제로 인해 Jenkins로 출시 ■ Jenkins Install 1) Java Install $ sudo apt install openjdk-11-jdk 2) Java 위치 확인 $ which java --- /usr/bin/java 3) Java 실제 위치 $ ls -l `which java` 4) Java Home 이라는 변수 설정 $ vim ~/.zshrc --- JAVA_HOME=/us..

DevOps/CICD 2021.10.21

[Docker] 이미지

■ Docker Hub · GitHub나 Bitbucker과 같은 소스코드 관리툴과 연계 가능 (유료) · 코드를 빌드, 실행 가능한 애플리케이션의 이미지를 관리하는 기능을 갖춘 Docker의 공식 Repository Service · 물리 서버, 가상 머신, 클라우드든 Docker 이미지를 배포 가능 · Docker Hub 사이트 https://hub.docker.com/ Docker Hub Container Image Library | App Containerization We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, suc..

DevOps/Docker 2021.09.15

[Docker] Container 실행

■ 컨테이너 (Container) 란? · 호스트 OS 상에 논리적인 구획을 만들고, 애플리케이션을 작동시키기 위해 필요한 라이브러리나 애플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것 · 오버헤드가 적기 때문에 가볍고 고속으로 작동 · OS나 디렉토리, IP 주소 등과 같은 시스템 자원을 마치 각 애플리케이션이 점유하고 있는 것처럼 보이게 할 수 있슴 · 애플리케이션의 실행에 필요한 모듈을 컨테이너로 모을 수 있슴, 따라서 여러 개의 컨테이너를 조합하여 하나의 애플리케이션을 구축하는 '마이크로 서비스형' 애플리케이션과 친화성이 높음 ☞ 오버헤드란? · 가상화를 수행하기 위해 필요한 CPU 자원, 디스크 용량, 메모리 사용량 등을 말함 ※ Docker Container ..

DevOps/Docker 2021.09.15