Tech story 123

쿠버네티스, 이것만 알면 된다! - #5 쿠버네티스의 동작 흐름

쿠버네티스의 동작 흐름 쿠버네티스에서는 새로운 Pod를 만들기 위한 과정이 다음과 같은 흐름으로 진행됩니다. 출처: https://subicura.com/2019/05/19/kubernetes-basic-1.html 1. Master Node의 kube-apiserver에 Pod 생성을 요청 2. kube-apiserver는 etcd에 새로운 상태를 저장 3. kube-controller-manager에게 kube-apiserver가 etcd의 상태 변경을 확인하여, 새로운 Pod 생성을 요청 4. kube-controller-manager는 새로운 Pod를 생성(no assign)을 kube-apiserver에 전달하고, 이를 전달받은 kube-apiserver는 etcd에 저장 5. kube-sche..

DNS 네임 서버를 직접 구축해보자! (feat. BIND9)

자체 DNS 네임 서버를 구축해봅시다! 리눅스에서는 기본적으로 DNS 기능을 제공하고 있다는 사실, 알고 계셨나요? 오늘은 해당 기능을 활용해서 간단하게 자체 DNS 네임 서버를 구축해보는 방법을 소개 드리겠습니다! 서버 내부에서만 동작하는 아주 간단한 예제이지만, DNS를 이해하는 데에 조금이나마 도움이 되셨으면 좋겠습니다. 오늘의 목표 nslookup 명령어는 도메인에 대한 IP 정보를 확인하는 커맨드 라인 명령어인데요, 리눅스, 맥OS, 윈도우 등에서 사용할 수 있습니다. 오늘의 목표는, Ubuntu 서버 안에서 nslookup 명령어를 통해 내가 원하는 도메인과 IP를 매핑해 보는 것입니다. 도메인 대응되는 값 bind9.kr 1.1.1.1 dns.bind9.kr 2.2.2.2 kt.bind9.k..

Tech story/Cloud 2021.09.06

쿠버네티스, 이것만 알면 된다! - #4 쿠버네티스 설치

이제부터는 이론과 함께 실습을 통해서 쿠버네티스를 학습해보도록 하겠습니다. 실습을 위해서 우선 쿠버네티스 설치부터 시작합니다! 먼저, 설치에 앞서 Master Node와 Worker Node로 사용할 2개의 가상머신(Virtual Machine)을 준비합니다. 사전 작업 쿠버네티스를 설치하기 위해서는 2가지의 사전 작업이 필요합니다. Swap 메모리 비활성화 쿠버네티스는 Pod를 생성할 때, 필요한 만큼의 리소스를 할당 받아서 사용하는 구조입니다. 따라서 메모리 Swap을 고려하지 않고 설계되었기 때문에, 쿠버네티스 클러스터 Node들은 모두 Swap 메모리를 비활성화 해줘야 합니다. 다음 명령어를 통해서 Swap 메모리를 비활성화 시켜줍니다. Docker 설치 쿠버네티스의 밑바탕이 되는 Containe..

쿠버네티스, 이것만 알면 된다! - #3 쿠버네티스 구성 요소

쿠버네티스는 어떻게 이루어져 있을까요? 쿠버네티스는 여러 개의 노드(예를 들어, 가상서버/Virtual Machine)로 구성된 클러스터로 이루어져 있습니다. 출처: https://kubernetes.io/docs/concepts/_print/ 여기서 Node라는 개념이 나오는데요. 위의 그림에서 Node는 하나의 VM(Virtual Machine)을 의미합니다. 쿠버네티스는 컨테이너화 된 애플리케이션을 실행하는 Worker Node와 그러한 Worker Node를 관리하는 Master Node로 구성되어 있습니다. 이때 Worker Node와 Master Node는 다수로 이루어질 수 있으며, 쿠버네티스를 사용하기 위해서는 최소 1개의 Worker Node를 보유해야 합니다. Master Node에는 ..

안전하게 Cloud 사용하기#2 - 네트워크 보안

1. 가상 네트워크 설계 Cloud에서는 각 고객별로 가상의 네트워크를 제공합니다. 이는 물리적으로 같은 환경 내에서, 고객별로 전용 사설 클라우드를 운영할 수 있다는 뜻이죠. 각 고객은 자신의 가상 네트워크를 다시 분리할 수 있습니다. 이를 Subnet이라 합니다. 같은 Subnet은 보안 위협이 전파 가능한 상태로 간주되므로, 네트워크를 분리하여 보안 위협 전파를 방지할 수 있습니다. KT Cloud 또한 모든 고객에 Virtual Network과 Subnet을 제공하며, Subnet은 Tier라 부릅니다. 각 Subnet은 통신을 제한할 수 있으며, 이를 위해 ACL(Access Control List)이나 방화벽(Firewall)으로 불리는 서비스를 사용하게 됩니다. 여기서는 Stateful In..

Tech story/Security 2021.08.10

쿠버네티스, 이것만 알면 된다! - #2 Desired State

쿠버네티스의 다양한 기능들을 어떻게 사용할까요? 쿠버네티스의 핵심은 'Desired State' 입니다! 출처: https://subicura.com/2019/05/19/kubernetes-basic-1.html 쿠버네티스는 원하는 상태를 계속 체크하고 문제가 있다면 자동으로 조치합니다. 그렇다면 원하는 상태는 무엇일까요? 원하는 상태란 관리자가 바라는 환경을 의미하고, 좀 더 구체적으로는 얼마나 많은 웹서버가 구동되고 있으면 좋은지, 몇 번 포트로 서비스하기를 원하는 등을 말합니다. 쿠버네티스는 복잡하고 다양한 작업을 하지만 자세히 들여다보면, 현재 상태를 모니터링하면서 관리자가 설정한 원하는 상태를 유지하려고 내부적으로 이런저런 작업을 하는 단순한 로직을 가지고 있습니다. 원하는 상태는 어떻게 설정하..

5분이면 따라하는 kt cloud Open API 활용 팁

Cloud와 API Cloud를 기존 IT 인프라(Legacy)와 구분하는 특징 중 하나는 'API 지향성'이 아닐까 합니다. 즉, 'API를 이용해서 IT 자원(서버,스토리지..)을 구성하고 이용할 수 있다'라는 점이 Cloud 이전의 IT 이용 패턴과는 큰 차이가 있다는 말입니다. 이러한 이유로 Cloud Native 아키텍처 설계를 논할 때, '사용하기 쉬운 API 제공'은 빠지지 않고 언급되는 것 같습니다. 유사한 맥락에서, Cloud 인프라를 서비스로서 제공하는 CSP들은 대부분 자사의 고객들이 활용할 수 있는 API를 제공하고 있습니다. kt cloud 역시 서비스 라인업 별로 풍성한 Open API를 제공하고 있고, 가이드와 관련 도구를 곁들여서 보다 사용하기 쉬운 환경을 만들어가고 있습니다..

Tech story/Cloud 2021.07.27