전체 글 82

AWS H01_Lesson01

목차 1. EC2 1.1 Linux AMI 가상화 유형 1.2 배치 그룹 1.3 Domain Join Directory 1.4 Tenancy 1.5 AWS Nitro Enclave 2. S3 2.1 Public Access 2.2 ACL 2.3 버킷 정책 EC2 Linux AMI 가상화 유형 인스턴스를 생성할 때 사용했던 AMI 이미지는 루트 볼륨 디바이스에 저장 AMI는 PV / HVM 두 가지 유형의 가상화를 사용한다. 주요 차이점은 부팅 방법, 더 나은 성능을 위해 HW 확장이 가능한지 차이. HVM(하드웨어 가상 머신) PV(반가상화) 설명 이미지 루트 블록 디바이스의 MBR을 실행하여 가상화된 HW, Boot Set 제공 PV-GRUB이라는 특수 부트 로더를 통해 부팅 현재는 대부분 HVM 사용..

AWS 2021.11.10

Argo CD

Argo CD 주요 구성 요소 1. API Server - WebUI, CLI, CICD 시스템용 API 2. Repository Server - 매니페스트를 보관하는 git 저장소의 로컬 캐시를 유지하는 내부 서비스 3. Application Controller - 애플리케이션 제어, 모니터링 / 상태 비교하는 Kubernetes 컨트롤러 Argo CD 설치 - 위 세 구성요소는 Argo Project에서 매니페스트를 제공한다. mzmz01:~/environment $ kubectl create namespace argocd namespace/argocd created mzmz01:~/environment $ kubectl apply -n argocd -f https://raw.githubusercon..

CICD 2021.10.13

Helm 인강 정리

간단한 실습으로 nginx 서버를 설치했고, 인프런 강의에서 배운 내용을 정리한다. tomcat 설치 bitnami/tomcat 차트를 이용하여 tomcat 서버를 설치한다. default로 설치 시 Persistent Volume을 사용하게 되는데 persistent.enabled 옵션을 false로 사용하면 PV를 사용하지 않게 된다. mzmz01:~/.kube $ helm install my-tomcat bitnami/tomcat --set persistent.enabled=false,tomcatAllowRemoteManagement=1 Artifact Hub에서 설명하는 tomcatAllowRemoteManagement 옵션은 아래와 같다. default는 0(disabled)으로 설정돼있기 때문..

Kubernetes 2021.10.08

Helm Chart를 이용하여 nginx 설치하기

실습 환경은 Cloud9에서 진행하며, Helm 설치는 간단히 설명한다. Helm 설치 아래 명령어를 통해 Helm CLI를 설치한다. $ curl -sSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash Downloading https://get.helm.sh/helm-v3.7.0-linux-amd64.tar.gz Verifying checksum... Done. Preparing to install helm into /usr/local/bin helm installed into /usr/local/bin/helm helm version을 입력하면 설치된 버전 이외에 WARNING 문구가 표시된다. 오류를 보면 ...

Kubernetes 2021.10.08

error: You must be logged in to the server (Unauthorized) 오류 해결

일반적으로 위 로그는 쿠버네티스 환경에서 만날 수 있는 오류이며, 제 경우에는 EKS 클러스터를 생성한 후 kubectl 명령어로 API Endpoint에 요청을 보낼 때 발생했습니다. (혹시 다른 케이스가 있다면 댓글 부탁드립니다!) 대부분 관련 권한이 없거나 ~/.kube/config 파일이 잘못 구성되었거나 등의 몇 가지 제한된 원인으로 발생하는 이슈로 보여집니다. 아래는 증상별 해결방법을 기재해두었습니다. 증상 1. Connection refused kubectl 명령어 입력 시 아래 오류가 발생합니다. The connection to the server localhost:8080 was refused - did you specify the right host or port? 위 증상의 해결방법은..

AWS 2021.10.07

Helm이란?

Helm은 쿠버네티스 패키지 매니저이다. Helm Chart 흔히 Helm 차트를 작성한다고 하는데 여기서 '차트' 란 Helm의 패키지 포맷이다. 하나의 애플리케이션을 설치하기 위한 파일들로 구성돼있는데, 예를 들어 tomcat 서버를 설치하기 위한 쿠버네티스의 Pod, Service, Deployment를 위한 YAML 파일 등을 포함한다. Template, Value Helm은 기본적으로 템플릿의 개념을 사용한다. 아래 예제처럼 AWS에서 VPC, S3 등의 리소스들을 빠르게 구성하고 싶을 때 yaml 파일 내에 관련된 리소스들을 정의해서 CloudFormation 서비스를 통해 한 번에 구성하곤 하는데, 이 때 사용하는 yaml 파일이 템플릿과 같다. Helm 또한 템플릿 파일을 만들어놓고, Va..

Kubernetes 2021.10.01

Terraform vs Ansible

이제 'IaC는 Infrastructure as Code, 즉 코드로 인프라를 관리한다' 라고 정리할 수 있다. 이번 포스팅에선 IaC에서 사용되는 대표적인 솔루션, Terraform과 Ansible을 비교하는 과정을 설명한다. 두 가지 솔루션은 인프라를 코드로 관리하기 위해 사용된다는 점에서 공통점이 있지만, 그 목적이 다르다. ◎ Terraform : Orchestration, Provisioning ◎ Ansible: Configuration, Management 간단한 예시를 통해 비교해보자. Ansible - ec2: count: 10 image: ami-v1 instance_type: t2.micro Terraform resource "aws_instance" "example" { count ..

IaC 2021.09.20

RHCSA 취득 후기

RHCSA는 모든 시험이 실기로 이루어진다. 비용은 SAA보다 훨씬 비싼 30 ~ 40만원 정도인데 운이 좋게 현재 수강 중인 교육 과정에서 응시료 지원을 통해 무료로 취득할 수 있었다. 응시 방법 자격증 신청은 당시 교육기관에서 단체로 진행해서 자세한 과정은 생략한다. 아마 '패스트레인' 홈페이지에 가서 신청하면 될 것 같다. 패스트레인은 네트워크교육,정보보안교육,클라우드교육,4차산업기술교육 전문IT기술교육센터입 패스트레인은 법인명(주)에프레인으로 시스코교육,레드헷교육,세일즈포스교육,VMware교육의 공인교육센터로써 네트워크교육,정보보안교육,데이터센터교육,와이어샥교육등을 수행하고 있습니 www.flane.co.kr 시험난이도 Redhat에서 소개하는 RHCSA 자격증에 대한 소개는 아래와 같다. RHC..

자격증 2021.09.19

Kubernetes 오브젝트를 이용한 Apache 웹 서버 구성하기

목표 Kubernetes를 활용하여 아파치 웹 서버를 구축한다. 설치 환경 웹 서버 설치 환경은 Ubuntu 20.04.2 LTS이다. 구성 과정 1. 오브젝트 구성 2. Probe 구성 3. Replicaset 생성 4. Load Balancer 생성 1. 오브젝트 구성 httpd 이미지를 통해 오브젝트를 구성한다. vagrant@kube-control1:~$ kubectl run httpd --image httpd pod/httpd created 2. Probe 구성 컨테이너를 주기적으로 진단하기 위한 프로브를 구성한다. 프로브는 크게 startupProbe, livenessProbe, readinessProbe로 구분한다. startupProbe startupProbe가 선언돼있으면, 진단이 통과되..

Kubernetes 2021.09.07

Kubeadm을 이용한 쿠버네티스 클러스터 배포하기

목표 k8s 설치와 버전 업그레이드, node를 제거하고 추가하는 방법을 설명한다. 설치 환경 쿠버네티스 설치 환경은 Ubuntu 20.04.2 LTS 이다. 설치 과정 1. Kubernetes 설치 2. 클러스터 구축 kubernetes 설치 패키지 업데이트를 수행하고 Repository를 추가한다. vagrant@kube-control1:~$ sudo apt-get update vagrant@kube-control1:~$ sudo apt-get install -y apt-transport-https ca-certificates curl #구글 클라우드의 사이닝 키 추가 vagrant@kube-control1:~$ sudo curl -fsSLo /usr/share/keyrings/kubernetes-a..

Kubernetes 2021.09.07