전체 글

전체 글

    CKA(Certified Kubernetes Administrator) 합격 및 시험 후기

    무려 1년 만에 돌아온 자격증 후기! 그동안 취업 준비와 입사로 정신이 없어서 블로그 관리를 소홀히 했다. CKA 취득과 함께 후기를 작성하면서, 이번을 계기로 블로그를 다시 활성화해보려 한다. 지난 3월 30일 CKA(Certified Kubernetes Administrator)에 응시했다. 4월 1일부터(2024기준) CKA 자격증 유효기간이 2년이 된다는 소식을 듣고, 빠르게 신청하여 시험을 준비했다. CKA(Certified Kubernetes Administrator)란? CKA(Certified Kubernetes Administrator)는 Kubernetes 관리자로서 K8S를 수행할 수 있는 기술, 지식 및 역량을 갖추고 있음을 보증하는 자격증이다. Linux Foundation에서 발..

    [Helm] Github를 Helm Chart Repository로 사용하기

    Github를 Helm Chart Repository로 사용하는 방법을 설명하기에 앞서, Helm의 기본적인 개념에 대한 설명이 필요하다면 여기를 참조하면 된다. [Kubernetes] Helm이란? Helm의 개요와 사용법 📌Index Helm이란? Helm 설치하기 Helm 사용법 Helm 실습 ✔️ Helm이란? Helm이란, Kubernetes 패키지 관리를 도와주는 것(패키지매니저)으로, yaml 파일의 모음이라고 할 수 있다. Helm에 대한 많은 문서나 책 nayoungs.tistory.com Helm Chart Repository(저장소)를 서비스(호스팅)하는 방법에는 클라우드 스토리지, JFrog 아티팩토리, 일반 웹 서버 등 여러가지가 있지만, 본 글에서는 Github를 차트 저장소로 ..

    [AWS] CodeBuild : Docker 이미지를 Build하고 ECR에 Push하기

    CodeBuild란? AWS CodeBuild란, 클라우드 상의 완전 관리형 빌드 서비스이다. CodeBuild에서는 자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요가 없다. AWS의 CI(Continuous Integration) 서비스라고 보면 된다. CodeBuild 작동 방식 CodeBuild는 다음 그림과 같이, 소스 공급자에 소스가 업로드되면 CodeBuild가 알아서 소스를 가져와 빌드를 진행한다. 그리고 빌드가 완료되면 아티팩트(빌드 결과물)를 아티팩트 저장소에 저장한다. CodeBuild에서 지원하는 소스 공급자는 다음과 같다. Amazon S3 AWS CodeCommit Github BitBucket Github Enterprise CodeBuild가 빌드 환경에 소스 코드를 다운로..

    [운영체제] 프로세스와 스레드

    🔎 [10분 테코톡] 코다의 Process vs Thread을 기반으로 작성하였습니다. 프로세스와 스레드를 공부하다 보면 헷갈릴 수 있는, 혼동하기 쉬운 용어들이 있다. 따라서 들어가기 앞서, 키워드를 먼저 정리하려고 한다. 키워드 실행 단위 : cpu core에서 실행하는 하나의 단위로, 프로세스와 스레드를 포괄하는 개념 (부연 설명이 없는) 프로세스 : 하나의 스레드만 가지고 있는 단일 스레드 프로세스 동시성 : 한 순간에 여러가지 일이 아니라, 짧은 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것 프로그램과 프로세스 모두가 좋아하는 음식인 피자를 예로 들어보자. 피자를 먹고 싶어서 피자 가게에 갔는데, 피자가 아닌 피자 레시피를 받는다면 어떨까?? 종이에 적힌 레시피는 피자일 수가 없다. ..

    AWS Certified DevOps Professional 합격 및 시험 후기

    지난 3월 6일 AWS DOP-C01에 응시했다. SAA를 취득해놓은 상태였고, 일반적으로 SAP 또는 SysOps, Developer를 다음 목표로 잡겠지만 DevOps를 빨리 하고 싶다는 생각에 바로 DOP를 응시하게 되었다. 꽤 부담이 있는 시험이었고, 검색해보니 후기가 많이 없었다. 특히 Pearson Vue로 시험을 치룬 후기는 찾아볼 수 없었다. 그래서 이번 기회에 자세히 후기를 남겨보려한다✍️ AWS Certified DevOps Professional이란? AWS Professional 자격증 중 하나로, Associate Developer와 SysOps의 상위 자격증이다. AWS Certified DevOps Engineer - Professional 자격증 | AWS Certificat..

    가상화와 가상머신, 그리고 컨테이너

    가상화(Virtualization)란? 가상화(Virtualization)란, 컴퓨터나 네트워크의 자원을 논리적으로 구분하여 하나의 물리적 자원을 여러 개의 가상 자원으로 나누어 사용하는 기술을 말한다. 물리적인 하드웨어 장치를 논리적인 객체로 추상화하는 것이다. 즉, 하나의 컴퓨터를 여러명의 사용자가 동시에 사용할 수 있도록 여러대의 작은 컴퓨터로 분할시키거나, 반대로 여러 장치를 묶어 하나의 장치인 것처럼 사용자에게 제공할 수 있다. 운영 체제부터 애플리케이션에 이르기까지, 새로운 소프트웨어의 요구 사항은 점점 더 높아지고 있다. 더 많은 데이터, 더 높은 처리 능력, 더 큰 용량의 메모리가 필요해지는 것이다. 가상화를 사용하면, 하드웨어 리소스를 효율적으로 사용하여 비용을 단축할 수 있다. 가상화 ..

    IT 연합 동아리 CLOUD CLUB

    안녕하세요 :D 오늘은 한 IT 연합 동아리를 소개해보려고 하는데요, 바로 CLOUD CLUB 입니다. CLOUD CLUB 은 클라우드에 대한 관심과 배움의 의지로 가득한 현직자와 학생이 모인 동아리입니다. 현재 3기 인원 모집 중에 있어, 관심있는 분들에게 도움이 되면 좋을 것 같아 글을 작성하게 되었습니다 ㅎ 기간이 촉박한 때에 알려드리게 되어 저도 조금 아쉽긴 한데요.. 이번 3기에는 저도 운.영.진으로써 참여하게 되었습니다!! 😁 Cloud Club 동아리원 분들을 저희는 클둥이라고 부르는데요~ 더 많은 분들이 클둥이가 되었으면 좋겠네요🫶 ☁️ Cloud Club은 어떤 동아리인가요? Cloud Club은 클라우드의, 클라우드에 의한, 클라우드를 위한 IT 연합 동아리로 클라우드에 관심 있는 사람..

    MSA(Microservice Architecture)란?

    전통적인 애플리케이션 구축 방식은 모놀리식(Monolithic)에 중점을 두었으며, 애플리케이션에서 구축 가능한 모든 부분이 하나의 애플리케이션에 포함되어 있었다. 이러한 방식의 단점은 애플리케이션이 커질수록 새로운 문제를 해결하고 새로운 기능을 추가하는 것이 어려워진다는 것이었다. 마이크로서비스 기반 애플리케이션 구축 방법은 이러한 문제를 해결하고 개발 및 대응 속도를 가속화할 수 있다. 마이크로서비스(Microservices)란? 마이크로서비스는 소프트웨어가 잘 정의된 API를 통해 통신하는, 소규모의 독립적인 서비스로 구성되어있는 경우의 소프트웨어 개발을 위한 아키텍처 및 조직적 접근 방식이다. 마이크로서비스 아키텍처는 애플리케이션의 확장을 용이하게 하고 개발 속도를 앞당겨 혁신을 실현하고 새로운 ..

    [네트워크] DNS

    ✔️ DNS란 무엇인가? 도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(예:nayoungs.tistory.com)을 머신이 읽을 수 있는 IP 주소(예:211.249.222.33)로 변환한다. 이러한 DNS는 어떻게 등장하게 되었을까? 네트워크 안에서 호스트를 식별하기 위한 목적으로 IP 주소를 사용한다. 사람의 경우, 숫자보다 문자를 사용하는 것이 더 편하므로 도메인 이름을 이용하여 호스트를 식별한다. 도메인 이름을 사용하는 경우에도 최종적으로 IP 주소를 알고 있어야 상대방과 연결이 가능하므로, 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해 주는 TCP/IP 네트워크 서비스인 DNS가 등장하게 되었다. 다시 한번 설명하자면, DNS의 정의는 TCP/IP 상에서 ..

    [네트워크] 로드밸런싱(Load Balancing)

    ✔️ 로드 밸런싱(Load Balancing) 로드밸런싱이란, 네트워크 또는 서버에 가해지는 로드를 분산해주는 기술이다. 둘 이상의 CPU 혹은 저장 장치와 같은 컴퓨터 자원들에게 작업을 나눠주는 것을 의미한다. 로드 밸런싱의 필요성 로드 밸런싱은 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이다. 서버가 단 하나만 존재할 때, 수천만 명의 사람들이 동시에 서버에 접속하면 어떻게 될까? 하나의 서버는 부하를 감당하지 못할 수도 있을 것이고, 결국 정상적인 서비스가 불가능 해질 것이다. 이를 해결하는 방식에는 2가지가 있다. Scale-up : 서버 자체의 성능을 높이는(확장하는) 것이다. 비유하자면 CPU가 i3인 컴퓨터를 i7으로 업그레이드하는 것과 같다. Scale-out..

    [Kubernetes] Kubernetes Patterns : Singleton Pattern

    ✔️ Singleton Service Pattern이란? SW 개발에 사용되는 생성 패턴 중 하나로, 한 번에 하나의 애플리케이션 인스턴스만 실행한다. 예시) 메세지 대기열의 메세지를 순차적으로 소비해야하는 웹 애플리케이션은 한 번에 둘 이상의 인스턴스를 실행하지 않아야한다. 쿠버네티스에서는 외부 잠금과 내부 잠금을 통해 2가지 레벨로 구현할 수 있다. ✔️ 문제점 쿠버네티스의 주요 기능은 다중 인스턴스를 실행해서 시스템의 처리량과 가용성을 높이는 것 Deployment, ReplicaSet과 같은 리소스로는 싱글톤 서비스를 사용하는 데 어려움이 있음 동시에 하나의 서비스 인스턴스만 실행되어야하는 경우가 있음 ✔️ 애플리케이션 외부 잠금(비 인식) 애플리케이션 외부의 관리 프로세스를 사용하여, 오직 애플..

    [네트워크] TLS/SSL HandShake

    ✔️ HTTPS를 사용한 안전한 웹 인터넷은 안전한 통신을 위해 암호화를 진행하게 되는데, 암호화란 일반적인 평문(text)를 알아볼 수 없도록 암호문으로 만드는 과정이다. 암호문을 상대에게 전달하고, 상대는 이를 다시 복호화하여 평문으로 확인할 수 있다. 이와 같은 과정을 웹 브라우저와 웹 서버에게 사용하는 기술이 바로 HTTPS(Hypertext Transfer Protocol Secure)이다. HTTPS는 SSL(Secure Socket Layer) / TLS(Transport Layer Security) 전송기술을 사용한다. TCP, UDP와 같은 일반적인 인터넷 통신에 안전한 계층(layer)를 추가하는 방식을 말하며, 이러한 기술을 구현하기 위해 웹 서버에 설치하는 것이 SSL/TLS 인증서..

728x90