본문 바로가기

Kubernetes

(9)
[장애처리] 쿠버네티스 운영 - 신규노드 추가 [장애상황] Ansible로 운영중인 Kubespray의 inventory.ini(hosts)파일에 k8s 신규노드를 추가하려 하였으나, Kubespray의 Cluster.yml 실행 시 오류 발생 (참고) scale.yml을 사용하지 않고 위의 "INI"파일을 수정하고, Cluster.yml을 실행한 상황임 [원인분석] k8s 신규 노드 추가를 위해 다음과 같은 세개의 계정으로 접속이 가능해야 함. vagrant ansible root 특히 ansible은 ansible 원격 명령 실행을 위해 각 노드에 공개키 정보를 복사해야하며, root 역시 kubespray의 script실해을 통한 k8s 명령 실행을 위해 공개키 정보를 각 노드에 복사해야함. 키 복사 시 여러 장애요인으로 신규로 추가하려고하는 ..
[자동화] AI 개발환경 구축기 #5-Kubernetes Cluster(Dashboard) 머신러닝과 딥러닝, 그리 AI(인공지능)!!! AI 서비스를 개발하기 위한 환경을 만들어본다. 최종 목표는 Kubeflow 기반의 AutoML 환경 구성이고, IaC(Infra as Code) 기반으로 Automation 하는것이 목적이다. 5편 Kubernete Dashboard 설치 쿠버네티스 설치를 자동화하고 나서 Dashboard를 확인하려고 보니 kubenetes-dashboard가 떠있지 않았다. addon.yml에 "dashboard_enabled = true"로 바꾸고 나서 플레이북 cluster.yml을 다시 실행했으나 여전히 dashboard가 pod로 보이지 않았다. 생각해보니 VM 생성할 때 GUI가 없는 Ubuntu를 설치했고, 그러니 당연히 브라우저도 설치되어 있지 않았다. 황당..
[자동화] AI 개발환경 구축기 #4-Kubernetes Cluster(automate with Ansible) 머신러닝과 딥러닝, 그리 AI(인공지능)!!! AI 서비스를 개발하기 위한 환경을 만들어본다. 최종 목표는 Kubeflow 기반의 AutoML 환경 구성이고, IaC(Infra as Code) 기반으로 Automation 하는것이 목적이다. 4편 Ansible를 활용한 Kubernetes Cluster 자동화 지금까지 VirtualBox의 가상머신 Resource 관리를 위해 Vagrant를 적용하였고, 가상머신 내 여러 SW와 Application를 배포, 실행하기 위해 Ansible 을 적용하여 기본적인 IaC(Infrastructure as Code) 환경을 구성하는 작업을 진행하고 있다. Bigdata, Machine Leaning, AI 등 4차 산업에서 이슈가 되고있는 최신 IT 환경은 점점 ..
[자동화] AI 개발환경 구축기 #3-Kubernetes Cluster(with kubespray) 머신러닝과 딥러닝, 그리 AI(인공지능)!!! AI 서비스를 개발하기 위한 환경을 만들어본다. 최종 목표는 Kubeflow 기반의 AutoML 환경 구성이고, IaC(Infra as Code) 기반으로 Automation 하는것이 목적이다. 3편 Ansible를 활용한 Kubernetes Cluster 환경 구성 이전에 이미 Kubespray로 Kubernetes(이하 k8s) Cluster를 생성해 보았다. 하지만 자동화를 통한 손쉬운 환경에는 다소 아쉬움이 있었다. Ansible과 Kubespray를 잘 활용하면 조금 더 편리한 환경 구성이 가능할 것이다. kubespray로 쿠버네티스 설치하기 #1 kubespray 로 쿠버네티스 설치하기 #1-사전준비 쿠버네티스를 설치하는 방법은 여러가지가 있다...
[자동화] AI 개발환경 구축기 #2-IaC Automation(Ansible) 머신러닝과 딥러닝, 그리 AI(인공지능)!!! AI 서비스를 개발하기 위한 환경을 만들어본다. 최종 목표는 Kubeflow 기반의 AutoML 환경 구성이고, IaC(Infra as Code) 기반으로 Automation 하는것이 목적이다. 2편 "IaC Automation" Ansible 환경 구성 [Ansible System 요구사항] Ansible Control Node (이하 Master) : Linux, Pyhton 2.6 이상 Ansible Members (이하 Woker) : Python 2.6이상 가. Ansible Master 설정 "AI 개발환경 구축기 #1편"의 내용을 수정해서 IaC를 위한 Ansible 환경을 구성한다. 1. Vagrantfile 수정 - Ansible Master..
kubespray 로 쿠버네티스 설치하기 #2-설치하기 kubespray로 쿠버네티스를 설치한다. kubespary 디플로이하기 전에 마스터 및 워커 노드간 통신을 위한 인증작업과 통신환경 설정을 완료했다. (kubespary 설치 사전 준비 참고) kubespray 로 쿠버네티스 설치하기 #1-사전준비 쿠버네티스를 설치하는 방법은 여러가지가 있다. 그 중 내가 직접 구성해본 방법은 5가지다. Rancher로 K8S 클러스터를 구성하는 방법 kubespray로 K8S 클러스터를 구성하는 방법 kubeadm으로 K8S 클러스 jarikki.tistory.com kubespray는 ansible-playbook 를 이용해서 설치를 진행해야하기 때문에 다음과 같이 몇가지 모듈을 Master Node에 추가로 설치해야한다. 1. ansible, python, pip..
kubespray 로 쿠버네티스 설치하기 #1-사전준비 쿠버네티스를 설치하는 방법은 여러가지가 있다. 그 중 내가 직접 구성해본 방법은 5가지다. Rancher로 K8S 클러스터를 구성하는 방법 kubespray로 K8S 클러스터를 구성하는 방법 kubeadm으로 K8S 클러스터를 구성하는 방법 MiniKube를 설치하는 방법 Terraform 템플릿으로 K8S 클러스터를 구성하는 방법 각각의 장단점이 있지만, kubeadm은 K8S를 구성할때 수동으로 구성 모듈을 하나 하나 설치해야해서 어려움이 있으나, 전체적인 구성요소를 이해하는데 장점이 있고, kubespray, MiniKube, Terraform은 설치가 매우 간단하다는 장점이 있다. Rancher의 경우 K8S를 Wrapping 프레임워크로 K8S에 대한 이해가 적어도 설치 운영이 가능한 장점이 있..
MiniKF - Tutorial 따라하기_Taxi Cab #3 튜토리얼 진행을 통해 현재 데이터는 /home/jovyan/data 경로에 data라는 이름의 데이터 볼륨에 저장되었다. 파이프라인에서 data 볼륨의 데이터를 인식하기 위해서는 볼륨 스넵샷이 필요하다. 하지만 튜토리얼에서는 데이터 볼륨이 아닌 JupyterLab 전체를 스냅샷으로 만들었다. 아마도 연습을 위해 전 과정을 반복할 경우 이전 상태로 돌아가기 쉽도록 전체 스냅샷을 만든 것 같다. 스냅샷을 생성하려면 우선 Bucket을 만들고 Bucket에서 스냅샷을 생성해야한다. 1. Bucket 생성하기 스냅샷은 MiniKF에 기본 제공되는 Rok를 사용를 사용하며, Kubeflow UI Dashboard의 왼쪽 메뉴 중 "Snapshot Store" 또는 MiniKF 메인 UI의 "Connect to R..