전체 글 17

k8s v1.25.2 master node 구축

쿠버네티스 릴리즈 1.24부터 Dockershim이 제거되었다. Docker 지원을 하지 않는 이유는 쿠버네티스를 서비스하고 있는 회사 CNCF는 Vendor Lock을 싫어한다. Docker는 사기업이기 때문에 Vendor Lock에 걸릴 가능성이 있었고 이에 Docker의 의존성을 없애는 판단을 한 것 같다. 최근 Minkube로 Kubeflow pipeline을 구축하였었는데 GPU를 할당하는 과정에서 driver=docker는 GPU지원이 되지 않았다. 그래서 Docker를 사용하지 않는 최신버전을 공부할 필요를 느끼게 되었고 그렇지 않아도 쿠버네티스 자격증을 따볼까 생각하던 차에 이렇게 되버렸으니 k8s를 제대로 공부할 생각이다. 이번 포스트의 환경은 k8s v1.25.2버전이며 ubuntu20..

MLOps 2022.10.11

[kubeflow] Recommandation(XGBoost) 파이프라인 구축 - 2

이번 포스트에서는 나머지 5개 노드를 연결한 파이프라인을 연결한 것을 작성해보려고 한다. 쿠버네티스의 기본적인 사용방법만 알고 시도해보았는데 kubeflow 자체를 사용하는 것은 어렵지 않지만 파이프라인을 커스텀하는 것에 부족함을 많이 느끼게 되어서 최근에는 쿠버네티스를 기초부터 학습해보는 중이다. Pipeline kubeflow로 구축해본 파이프라인은 아래처럼 총 6개 노드로 구성되어있다. kfp import kfp from kfp import dsl from kfp.components import OutputPath from kfp import onprem def convert_json(): return dsl.ContainerOp( name='Convert Data', image='crysiss/k..

MLOps 2022.09.26

[kubeflow] Recommandation(XGBoost) 파이프라인 구축 - 1

지난 빅데이터 공모전에서 받은 데이터 셋으로 XGBoost로 추천시스템을 구현해보고 이것을 kubeflow로 파이프라인을 구축 하는 중이다. 맨땅에서 시도하다보니 너무 많은 이슈가 발생해서 정신이 없지만 확실히 에러한테 맞아가면서 익히는게 학습이 빠른거 같다. kubeflow로 s3에서 데이터를 불러오는 것부터 배포하는 것까지 pipeline 노드 별로 작성해 보려 한다. 이번 포스트는 AWS S3 버킷에서 csv를 받아와서 csv를 json으로 변환하는 노드이다. GitHub - kch8906/kubeflow-xgboost-recommendation Contribute to kch8906/kubeflow-xgboost-recommendation development by creating an accou..

MLOps 2022.09.17

[Docker] 설치 및 기본 명령어

공식문서 https://docs.docker.com/engine/install/ubuntu/의 방법중 Install using the repository 방법으로 진행 연습으로 진행하는 것이기 때문에 VM으로 ubuntu 20.04 버전으로 가상환경을 하나 만들어서 연습하였다. sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o \ /usr/share/keyrings/docker-archive-keyring.gpg ech..

MLOps 2022.09.01

Linux Server Ubuntu에서 SSH 접속 - 파일럿 서버 3

윈도우에서는 putty를 이용하면 되지만 Ubuntu에서는 ssh를 이용하여 접속 할 것이다. yum install openssh* chkconfig sshd on reboot reboot 이후 service network restart 이러면 Server01에서의 Network 설정은 끝난다. Ubuntu에서 Server01 원격접속(SSH) 우분투에도 SSH 명령어를 설치해 주어야 하는데 이 과정은 검색하면 다 나오니 생략 changhyun@changhyun-desktop:~$ ssh root@192.168.56.101 Unable to negotiate with 192.168.56.101 port 22: no matching host key type found. Their offer: ssh-rsa..

Linux 2022.08.23

CentOS 6 yum install 오류

사진처럼 에러가 떠서 알아보았더니 CentOS 6 버전 보안 업데이트 지원이 2020.11.30 일부로 지원이 종료되면서 나오는 문제라고 한다. 해결방법 getconf LONG_BIT 위 명령어로 CentOS의 bit를 확인 32bit echo "https://vault.centos.org/6.10/os/i386/" > /var/cache/yum/i386/6/base/mirrorlist.txt echo "http://vault.centos.org/6.10/extras/i386/" > /var/cache/yum/i386/6/extras/mirrorlist.txt echo "http://vault.centos.org/6.10/updates/i386/" > /var/cache/yum/i386/6/updates..

Linux 2022.08.23

Server Network 설정 - 파일럿 서버 2

CentOS 6 런레벨 변경 1. CentOS 6 Terminal 실행 2. su root 입력 후 root 비밀번호를 입력 3. vi /etc/inittab 입력하여 vi로 실행 4. vi 에디터에서 가장 밑으로 내리면 id:5:initdefault:의 숫자 5를 3으로 런레벨 변경 Network 설정 1. reboot를 하면 위와 같은 창이 뜬다 root계정으로 로그인 2. vi /etc/sysconfig/network-scripts/ifcfg-eth0 명령을 통해 스크립트 생성 3. Server01 - [설정] - [네트워크] - [어댑터2]에서 MAC 주소를 2자리씩 :으로 정확히 입력 4. 위와 같이 오타 난 곳이 없는지 확인 후 저장 기존 Network Role 제거 1. vi /etc/ude..

Linux 2022.08.23

VirtualBox(CentOS 6) Server 만들기 - 파일럿 서버 1

Ubunt 22.04에 VirtualBox를 설치하여 Server를 만들 것이다. Network 1. [파일] - [환경 설정] - [네트워크] 에서 위 사진과 같이 NatNetwork를 만들어 준다. 1. [파일] - [호스트 네트워크 관리자]로 들어가 어댑터 / DHCP 서버를 만들어준다 2. 최저, 최대 주소를 통해 서버의 갯수를 설정 할 수 있다. 3. 3개를 사용 할 것이기 때문에 101,102,103을 사용 할 것이다. CentOS 6(6.10) 설치 CentOS 6 미러 리스트 페이지: http://mirror.nsc.liu.se/centos-store/6.10/isos/x86_64/ 1. 새로 만들기로 이름, 종류, 버전을 정해준다. 2. 메모리는 2048로 설정 3. VDI, 동적 할당,..

Linux 2022.08.23

멀티 프로세스와 멀티 쓰레드의 차이점이 무엇일까?

이번 공모전을 진행하면서 Pandas를 이용하여 파생 변수를 만들다가 판다스에서 제공하는 기본적인 코드로 작성하고 돌려보니 약 300시간이라는 엄청난 시간이 걸려 Pandas DataFrame.apply() 함수는 단일 코어 작업으로 작동하는 사실을 파악하고 Multiprocessing을 이용하여 10시간으로 작업 시간을 줄이면서 멀티 프로세스와 멀티 쓰레드는 무엇이 차이가 있는지 알아야 한다고 생각하여 알아보았다. 프로세스와 쓰레드 프로세스는 운영체제로부터 자원을 할당 받는 작업의 단위 스레드는 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 프로세스는 운영체제로부터 자원을 할당 받는 작업의 단위 스레드는 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 프로세스를 정확하게 이해하기 위해서는 ..

CS 2022.08.21