
데브옵스
Rancher
쿠버네티스 클러스터 환경에서 컨테이너 워크로드를 쉽게 관리할 수 있도록 도와주는 프레임워크
StackOverflow 질문 수: 938
Github Stars : ★ 23974
사용 기업

샤플

쏘카

여기어때컴퍼니

마켓컬리

옴니어스

사람인에이치알

오토피디아

SSG.COM
SK텔레콤
M1 Mac에서 Docker사용 (feat. Rancher desktop)
출처 : https://velog.io/@loganjeon/M1-Mac에서-Docker사용-feat.-Rancher-desktop1. M1 맥북프로 교체최근에 Apple이 Arm아키텍처 기반으로 만든 Apple Silicon을 적용한 M1 MacBook Pro로 개발용 PC를 교체 받았다. 기존에 사용했던 MacBook Pro는 Intel CPU를 사용한 모델이라 M1칩을 적용한 Mac을 사용했을 때, 기존의 개발환경에서와 같은 Hardware Accellation이 필요한 SDK나 라이브러리 등을 사용하거나 기타 Compiler나 Runtime등의 사용에 문제가 없을지 걱정이 되었다. 하지만 일단 새 노트북을 사용할 수 있고 성능도 뛰어나니 일단 교체를 받고 기분 좋게 개발환경을 하나하나 셋업을 해보았다.2. Docker사용을 위한 설정2022년 올해 1월까지 유예기간을 가지고 Docker Desktop이 유료화 되었었다.(작년에 작성한 "Docker Desktop 유료화와 대응방법" 포스트 참고)이전까지 Docker Desktop을 사용하는 것이 Mac OS에서 도커를 사용하기 위한 가장 쉽고 확실한 방법이었다. 게다가 무료로 제공되었다.그 당시에 Mac에서 Docker사용을 위한 여러가지 선택가능한 방법을 고민하다가 기존 개발환경에 설치하여 사용하던 관성과 사용편의성 및 팀의 상황을 고려해 유료인 Team플랜을 구독해 사용해 왔다.이번에 MacBook을 새로 교체하게 되어 개발환경을 새로 설정하게 되었고 이번에는 Docker Desktop을 구독하여 사용하는 대신에 무료로 Docker를 사용할 수 있는 대안 중에 하나를 선택하여 사용해 보기로 하였다.3. 실패한 Docker Desktop의 기존 대안들Minikube + VirtualBox를 사용한 방식"Docker Desktop 유료화와 대응방법"에서 한번 사용하고 소개했었던 방법으로 시도를 해보았다.작년에도 내용을 확인하고 이 방법으로 설정 후 테스트도 해보았기 때문에 별다른 준비없이 설치를 시도해볼 수 있었다.Apple Silicon을 위한 Develop preview?VitualBox를 Mac에 설치를 시도해보자. 쉘에서 아래의 명령어를 이용해 Brew로 설치도 가능하다.brew install virtualbox어!!?? 그런데 아래와 같이 에러메시지가 나온다. 아직은 Intel의 hardware architecture만을 지원하는 것 같다. 조금 당황스러워지는 순간이다.Error: Cask virtualbox depends on hardware architecture being one of [{:type=>:intel, :bits=>64}], but you are running {:type=>:arm, :bits=>64}.VirtualBox Download Wiki 페이지에 가보니 Arm64 아키텍처를 사용한 M1/M2 Mac을 위한 Developer preview버전을 다운받아 설치할 수 있었다. 그래서 Develop preview버전으로 VirtualBox설치 후 Min
docker
kubernetes
rancher
오토피디아
온프레미스 쿠버네티스에서 NAS, GPU 사용하기 (with RKE2, NFS, gpu-operator)
안녕하세요? 오토피디아 리서치팀에서 데이터 엔지니어링과 머신러닝 프로젝트에 참여하고 있는 데이터 배관공 Kevin입니다. 이번 2편에서는 앞선 1편-온프레미스 쿠버네티스 프로덕션 환경 10개월 운영기 글 에서 구상한 온프레미스 쿠버네티스 아키텍쳐를 실제로 구현하기 위해서 어떤 과정을 밟았는지 알 수 있는 Step-by-Step 튜토리얼을 작성해보았습니다.RKE2 기반으로 고가용성 온프레미스 쿠버네티스 클러스터를 구축하고, 클러스터 외부에서 URL을 통해 내부 서비스에 접근하고, NAS 장비 내 공유 폴더에 PV를 마운팅하고, GPU 리소스까지 쓸 수 있도록 세팅하는 방법이 궁금하신 분들께 이 글이 도움 되었으면 합니다.1. RKE2 클러스터 세팅하기Route53에서 클러스터 Endpoint 세팅하기온프레미스 쿠버네티스이더라도 해당 클러스터에 접근할 별도의 도메인을 활용하는 것이 바람직합니다. 본 글에서는 onprem.example.com 이라는 서브 도메인에 클러스터를 연결하는 것을 가정하고 설명해보겠습니다. example.com 도메인을 Route53에서 관리할 수 있도록 소유권을 등록한 상태에서 onprem.example.com 에 대한 A 레코드를 생성하고 값으로 첫번째 컨트롤 플레인 노드의 퍼블릭 IP를 할당해줍니다. Route53의 레코드 테스트 기능을 활용하면 onprem.example.com 를 입력하고 레코드 유형을 A로 선택한 후 응답 수신 을 클릭했을 때 첫번째 컨트롤 플레인 노드의 IP가 반환되면 정상적으로 설정된 것입니다.Route53에서의 첫번째 컨트롤 플레인 노드 A레코드 세팅 화면RKE2로 컨트롤 플레인 노드 구성하기/etc/rancher/rke2/config.yaml 경로에 파일을 하나 만들어줍니다. 공식 설치 가이드의 yaml 설정을 따라갔을 때 노드의 내부 IP가 클러스터에 등록되는 경우가 발생해서 퍼블릭 IP가 항상 클러스터에 등록되도록 bind-address , advertise-address , node-ip , node-external-ip 설정 값을 추가했습니다. RKE2의 공식 설치 글 이 큰 도움이 되었습니다. 첫번째 컨트롤 플레인 노드를 세팅하기 위해서는 아래와 같이경로에 파일을 하나 만들어줍니다. 공식 설치 가이드의 yaml 설정을 따라갔을 때 노드의 내부 IP가 클러스터에 등록되는 경우가 발생해서 퍼블릭 IP가 항상 클러스터에 등록되도록설정 값을 추가했습니다.token: my-shared-secret-string tls-san: - onprem.example.com bind-address: (예: 23.253.82.10) advertise-address: node-ip: node-external-ip: node-name: a6000a두번째와 세번째 컨트롤 플레인 노드에서는 위 yaml 파일에 server 파라미터만 추가하면 됩니다. RKE2는 마스터 노드간 통신에 9345 포트를 사용하기에 Endpoint 뒤에 포트 정보를 추가해줍니다.
airflow
docker
helm
kubernetes
nodejs
rancher
연관 기술 스택

Docker

Helm

Kubernetes