본문으로 이동
이게 돼요? 도커 없이 컨테이너 만들기 / if(kakao)2022
컨퍼런스

이게 돼요? 도커 없이 컨테이너 만들기 / if(kakao)2022

if kakao 카카오 · YouTube

원문 보기

AI 핵심 요약

도커와 쿠버네티스의 사용법만 익히면 컨테이너 내부에서 문제가 생겼을 때 원인을 파악하기 어렵다는 점에서 출발해, 리눅스 기능을 조합해 도커 없이 컨테이너를 만드는 핸즈온을 진행했다. chroot의 한계와 탈출 가능성을 확인한 뒤 마운트 네임스페이스와 pivot_root로 파일 시스템을 격리하고, OverlayFS의 레이어 구조로 이미지 중복을 줄이는 원리를 살펴봤다. 이어 여러 네임스페이스로 프로세스와 네트워크 등을 분리하고 cgroups로 CPU·메모리를 제한해, 서로 통신하면서 자원 제한을 받는 컨테이너를 직접 구성했다. 컨테이너는 도커 자체가 아니라 리눅스의 격리·파일 시스템·자원 제어 기능을 바탕으로 만들어지므로, 그 원리를 알면 운영 중 문제를 더 잘 진단할 수 있다는 점을 강조했다.

  • 컨테이너의 파일 시스템 격리는 chroot만으로 충분하지 않으며, 마운트 네임스페이스와 pivot_root를 함께 고려해야 한다.
  • OverlayFS는 읽기 전용 이미지 레이어와 쓰기 가능한 컨테이너 레이어를 합쳐 중복 저장을 줄인다.
  • 네임스페이스는 프로세스·마운트·네트워크·사용자 등의 관점을 분리하고, 자식 프로세스는 부모의 네임스페이스를 상속한다.
  • cgroups는 CPU와 메모리 같은 자원을 제한하며, 제한을 넘긴 프로세스는 커널에 의해 종료될 수 있다.

소개

카카오엔터프라이즈에서는 뉴크루와 클라우드에 관심이 있는 개발자 크루를 대상으로 컨테이너 교육을 진행하고 있습니다. 본 핸즈온은 컨테이너 내부를 이해하기 쉽게 풀어서 설명 드리고 실습을 통해서 체감시켜 드립니다. - 내가 주니어라면? 웬만한 면접관 보다 더 컨테이너를 잘 알게 됩니다 :-) - 이미 실무자라면? 컨테이너 장인이 되실 수 있습니다 :-) - 핸즈온과 컨테이너에 대해 더 궁금하신 분들은 카카오엔터프라이즈 Tech &의 제 글을 참고해 주세요! - https://tech.kakaoenterprise.com/150 발표자료: - 보기: https://speakerdeck.com/kakao/ifkakao22-104 - 다운로드: https://files.speakerdeck.com/presentations/c1aa83b70bc8444c9272be09eda199a8/sam.0_kep.pdf #Container #Cloud #Backend #Linux #Docker ‘라이딩...

비슷한 학습 자료

컨퍼런스 if kakao

Openstack은 기존까지 인프라 레벨에서 절차적 형태로 운영되어 왔습니다. Kakao i Cloud에서는 Openstack을 포함한 모든 IT 자원을 Kubernetes-native한 방식으로 운영하고 있습니다. 본 세션에서는 Kubernetes Operator pattern을 사용하여 Openstack의 자원을 획기적으로 자동화하는 방법을 소개합니다. #Kubernetes #OpenStack #OperatorPattern #자동화 카카오엔터프라이즈에서 퍼블릭 클라우드를 개발하고 있는 토르입니다. 클라우드 리소스를 자동으로 관리하는 커스텀 컨트롤러를 개발하고 있습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-57 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 ...

데브옵스 · 인프라 클라우드

컨퍼런스 if kakao

카카오 엔터프라이즈에서는 cluster api와 다양한 plugin을 이용하여, 개발자들에게 용도에 맞는 k8s를 제공하고 있습니다. 그리고 이 환경을 기반으로 모든 클라우드 배포 환경을 k8s를 이용하여 구현할 수 있었습니다. 카카오 엔터프라이즈에서 사용중인 선언적인 kubernetes as a service 개발 방법 공유! 이것이 선언적인 방법이니까! 음! #Kubernetes #ClusterAPI #Kubernetesasaservice 카카오엔터프라이즈에서 퍼블릭 클라우드 서비스를 개발하고 있는 벅과 곤잘레스 입니다. 카카오아이클라우드 최고에요~! 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-58 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #i...

데브옵스 · 인프라 클라우드

컨퍼런스 if kakao

카카오에서는 쿠버네티스를 서비스하기 위해 DKOS를 사용하고 있습니다. 본 세션에서는 DKOS가 쿠버네티스를 서비스 하기 위해, 고려하였던 프로비저닝 툴들과 선택을 시작으로, 시행착오를 거쳐, 프로비저닝 툴을 걷어내기까지의 여정을 공유 드리고자 합니다. #Kubernetes #Provisioning 카카오에서 클라우드 플랫폼을 개발하고 있는 루키입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-52 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

데브옵스 · 인프라

컨퍼런스 if kakao

Preview Cloud @if(kakao)2022

컨퍼런스 if kakao

if(kakao)2022 컨퍼런스에서 Cloud 관련 기술 발표 트랙을 소개합니다. 04:17 1. Kubernetes provisioning: 프로비저닝 툴과의 만남부터 헤어짐까지... by 전민철(rookie.jeon) 카카오에서 클라우드 플랫폼을 개발하고 있는 루키입니다. 04:43 2. Testing Kubernetes Controller: Kubernetes Controller를 위한 테스트코드 작성 by 이완해(scotty.scott) 카카오에서 클라우드 플랫폼을 개발하고 있는 스카티입니다. Human Computer Interaction (HCI) 에 관심이 많으며, 일하면서 틈틈히 개발자를 위한 HCI 라는 주제에 대해 생각해보고 있습니다. 하지만 이번발표에서는 순수하게 개발적인 내용만 다룹니다. 05:01 3. 카카오가 K8s CNI Cilium의 메모리 누수 버그를 해결하는 방법 by 배규태(gyu.gyu) 카카오에서 클라우드 플랫폼을 개발하고 있는 규입니...

소프트웨어 테스트 데브옵스 · 인프라

컨퍼런스 if kakao

카프카는 데이터 흐름을 모아주는 실시간 분산 스트리밍 플랫폼으로 이제는 대다수 기업이 필수적으로 활용하는 오픈소스가 되었습니다. 카카오 전반적인 업무서비스에서 이용하는 카프카 공용 대규모 클러스터를 운영하면서 고려하고 진행했던 것에 대해 공유하고자 합니다. #Kafka #Infrastructure 카카오에서 시스템엔지니어링 업무를 담당하고 있으며, 전사 Kafka 클러스터를 관리하고 있는 데이비스입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-66 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 데브옵스 · 인프라

컨퍼런스 if kakao

Preview Cloud_2 @if(kakao)2021

컨퍼런스 if kakao

if (kakao) 2021 컨퍼런스에서 Cloud 관련 기술 발표 세션을 소개합니다. 1. 멀티 클러스터 환경을 위한 Kubernetes Operator 패턴 @jason.92 @tom.js 하나의 컨트롤러에서 여러 Kubernetes 클러스터의 리소스를 관리하기 위한 Operator 패턴을 코드 레벨로 소개합니다. 2. 혼자서 퍼블릭 클라우드 전체를 배포하는 방법 @jay.won 쿠버네티스 기반의 CI/CD로 오픈스택을 배포하는 방법을 소개합니다. 3. How to Provision Kubernetes Local Volume Dynamically @jayden.l2 @ian.song Kubernetes에서 Local Volume을 사용하기 위해 Scheduler Extender와 Provisioner를 개발한 내용을 시연과 함께 소개합니다. 4. Multitenancy L2DSR Loadbalancer @herbert.yoo 멀티테넌트 네트워크환경에서 동작하는 XDP/...

데브옵스 · 인프라 네트워크