AWS VPC CNI CNI(Container Network Interface)는 K8S에서 네트워크 환경을 구성해 주는 플러그인입니다. 다양한 플러그인들이 존재하는데 온프레미스 쿠버네티스에서는 Calico나 Cillium 등이 많이 사용됩니다. AWS EKS에서는 AWS VPC CNI라는 네트워크 플러그인을 사용합니다. AWS에서 지원하는 플러그인이기 때문에 VPC와 통합하여 VPC Flow logs, 라우팅 정책, 보안 그룹을 사용하는 등 다양한 장점을 가집니다. 노드와 파드의 네트워크 대역이 같습니다 Calico CNI vs AWS VPC CNI. Calio CNI는 파드와 노드 간의 IP 대역이 다르기 때문에 오버레이(VXLAN,IP-IP) 통신을 함으로써 오버헤드가 발생합니다. AWS VPC C..
가시다님이 진행하시는 AEWS(AWS EKS Workshop Study) 내용 정리입니다. On-Premise Kubernetes 환경이 아닌 EKS(Managed Kubernetes)는 접해보지 못하였는데, 이번 기회에 학습할 수 있는 기회를 주신 가시다님에게 다시 한번 감사드립니다. EKS 설치 개요 실습 과정은 다음과 같습니다. CloudFomation을 통해 작업용 EC2(Bastion) 서버와 VPC, 보안그룹 등을 생성합니다. 1번 과정은 생략하겠습니다. 작업용EC2(Bastion) 서버에서 eksctl 명령어를 이용하여 EKS를 구축합니다. eksctl로 EKS 배포하기 커맨드 편의성 위해서 필요한 매개 변수들을 변수에 저장합니다. eksctl create cluster 명령어를 통해서 ek..
시험과 관련된 자세한 팁과 후기는 많은 분들이 남겨주셨기 때문에, 이번 포스팅은 시험에 대한 개인적인 회고에 대해 포스팅합니다. 할 일 미루지 않기1. 시험 플랫폼 변경2022년, 쿠버네티스를 업무에서 처음 사용하였을 무렵, 개념 공부를 위해 CKA 할인 기간에 결제를 해놓았었다. 그 당시 시험 환경에서는 쿠버네티스 공식문서를 북마크 할 수 있게 허용 해주어서, 시험범위에 나오는 공식문서 페이지들을 미리 북마크로 정리해놓을 수 있었다. 나 또한 그렇게 준비를 해놓고 있었는데, 바쁘단 핑계로 시험을 미루고 미루다가 결국 시험플랫폼이 변경되었고, 시험 방식이 달라져서 준비를 다시 해야했기 때문에 응시를 미루기로 하였다. 2. 시험 플랫폼의 SSO 로그인 문제 발생2023년, 다시 시험 예약을 하려고 하였는데..
앤서블의 단점을 꼽자면? Ansible의 장점은 너무나도 많지만, 제가 생각하는 가장 큰 단점은 다른 사람과의 협업이 불편하다고 생각합니다. 왜냐하면 앤서블은 agentless방식으로 ssh로만 동작하기 때문에 버전관리 및 권한관리가 어렵습니다. 플레이북을 Git을 통해 형상관리를 할 수는 있지만, 사용자의 권한을 제약하고 플레이북을 실행을 추적하는 데 있어서 어려움이 존재합니다. 앤서블은 CLI로 동작하기 때문에 사용하는 데 있어서 어느 정도 러닝커브가 있기도 하며 플레이북을 실행시킬 수 있는 서버를 제공해야 합니다. 하지만, 세마포어(Semaphore)라는 앤서블 UI 오픈소스를 사용하면 아래와 같은 기능들로 앤서블의 단점들을 보완할 수 있다고 생각합니다 (뮤텍스와 세마포어의 세마포어가 아님주의) 빌..
국내의 경우, 서버를 운영 환경에서 관리하다보면 한국인터넷진흥원에서 등에서 제공하는 보안 취약점 항목들을 마주칠 것입니다. 입사 1년차때가 생각이 납니다. 선임을 도와 CSAP 인증을 진행하고 있었습니다. 수십대의 서버를 다루고 항목이 워낙 많다보니 결국 권한을 잘못 부여하였고, 설정파일을(pwquality.conf)을 잘못 수정하여 SSH 접속이 되지 않는 큰 실수를 해버렸습니다.( chown -R 명령어를 / 하위에 해버렸다.. 다행히 Snapshot이 있어, 복구는 했었다.) 그때, 앤서블을 활용하였다면 시간과 실수를 많이 줄일 수 있었는데 말입니다. 이번주차는 앤서블을 통해 보안설정 및 모니터링을 자동화 실습을 해보도록 하겠습니다.1. 보안설정 자동화1.1 패스워드 변경 주기 설정하기(chage)..
앤서블 롤(Roles) 롤은 관리/재사용의 목적으로 "플레이북 내용을 기능 단위로 나눈 모듈 단위를 말합니다. 앤서블 갤럭시를 통해 롤을 공유하고 사용자들이 만든 잘 짜인 롤을 가져올 수도 있습니다. 롤 생성하기 ansible-galaxy 명령어로 롤을 생성하고 확인할 수 있습니다. # 롤 생성 # : ansible-galaxy role init --init-path mkdir roles ansible-galaxy role init --init-path ./roles myrol # 롤 생성 확인 role list --roles-path roles - myrole, (unknown version) tree roles 앤서블 롤의 구조는 다음과 같은 구성요소로 구성되어 있습니다. 앤서블 롤은 용도에 맞게 디..
1. 반복문 Ansible Loops 반복문을 사용하면 동일한 모듈을 사용하는 작업을 여러 번 작성하지 않아도 됩니다. ex) 서비스에 필요한 여러 개의 포트를 방화벽에 추가할 때, 1.1 단순 반복문 반복문을 사용하여 ansible.builtin.service 모듈을 통해 여러 개의 서비스를 구동해봅니다. loop 작업을 반복해야 하는 목록을 정의합니다. {{ item }} 해당하는 값을 item 변수로 사용할 수 있습니다. check-services.yml --- - hosts: all tasks: - name: Check sshd and rsyslog state ansible.builtin.service: name: "{{ item }}" state: started loop: - sshd - rsy..
가시다님의 주관하시는 앤서블 스터디(a101)의 내용 정리입니다. 앤서블로 시작하는 인프라 자동화 책의 내용이 포함되어 있습니다. Ansible이란? 테라폼과 함께 가장 인기 있는 오픈소스 IT자동화 도구로, IT업무를 코드 기반으로 작성하여 환경이 다르더라도 동일하게 적용될 수 있도록 돕는 역할을 합니다. 2015년 10월 레드햇이 인수하여 개발하고 관리하고 있습니다. 실습을 위해 제어노드(Control Node) 1대와 관리노드(Manged Node) 3대를 구성하고, Ansible 설정과 기본 사용을 해봅니다. Ansible의 다음과 같은 특징이 있습니다. No 에이전트(Agentless) 기존 자동화 도구(Puppet, Chef)와 같이 자동화 관리 대상 서버(Manged Node)에 별도의 에이..