Kubernetes 22

[docker] Mariadb 실행

도커 실행 여부 체크 설치를 진행하기 전에 도커 실행 여부를 확인합니다. 도커가 실행중인 상태가 아니면 다음과 같은 예외 메시지가 출력됩니다. Using default tag: latest Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 지금 부터 mariadb를 다운로드 받아 설정 까지 진행하도록 하겠습니다. 도커 이미지 다운로드 docker pull mariadb 컨테이너 실행 3306 port로 설정해 실행합니다. docker container run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mariadb mariadb do..

Kubernetes 2022.07.25

Dockerfiler 추출(대략적)

Docker 를 사용하다 보면, Dockerfile을 추출하고 싶을때가 있다. 완벽하게 Docker에서 Dockerfile의 복원은 어렵지만 대략적으로 확인은 다음과 같은 방법으로 가능하다. $ docker history --no-trunc reddiana/jupyterlab-elyra | tac | tr -s ' ' | cut -d " " -f 5- | sed 's,^/bin/sh -c #(nop) ,,g' | sed 's,^/bin/sh -c,RUN,g' | sed 's, && ,\n & ,g' | sed 's,\s*[0-9]*[\.]*[0-9]*\s*[kMG]*B\s*$,,g' | head -n -1 혹은 $ docker history --no-trunc --format "{{.CreatedBy}}..

Kubernetes 2022.07.04

Kubernetes Ingress 설정

Kubernetes Service & Ingress 1. Service pod은 Controller에 의해 관리되기 때문에 한군데에 고정되어있지 않습니다. 서비스를 사용하게 되면 pod가 클러스터 내 어디에 있던지 상관없이 고정된 주소를 사용해서 접근이 가능하게 됩니다. ClusterIP 가장 기본 타입 클러스터 내부의 노드에서 접근가능 클러스터 외부에서는 접근불가 NodePort 각 노드의 지정된 포트를 할당하는 방식 노드의 포트를 사용하기 때문에 클러스터 외부나 내부 모두 접근가능 특이점 : pod이 1번노드에 떠있다고 하더라도 2번노드의 ip로 접근가능 LoadBalancer 클라우드 서비스를 사용할 때 사용가능한 옵션 pod을 클라우드에서 제공하는 로드밸런서와 연결해 해당 로드밸런서의 ip를 이용..

Kubernetes 2022.06.21

Spring Boot Docker file 만들기...

간단한 SpringBoot 프로젝트를 만들고, Dockerfile을 통해서 애플리케이션을 docker이미지 파일로 만들고, 실행해보고, docker hub에 remote로 푸시하는 방법에 대해서 알아보자 1. Sample 프로젝트 만들기 pom.xml파일에 spring-boot-starter-web web모듈을 추가하고 루트로 요청이 왔을때 hello world 바디를 리턴하는 간단한 프로젝트를 만들어 보자! @RestController public class HelloController { @GetMapping("/") public String home() { return "hello world"; } } 2. Dockerfile 만들기 Dockerfile은 인프라스트럭쳐의 프로비저닝(서버 환경 셋팅)..

Kubernetes 2022.06.21

[Docker] run 옵션

Docker run 명령어 기본 구조 docker run 은 Image 로 Container 를 생성하는 명령어입니다. docker run -d -it --name containername imagename bash docker run Docker run 옵션 종류 -i, --interactive 표준 입력(stdin)을 활성화하며, 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지합니다. 보통 이 옵션을 사용하여 Bash 에 명령을 입력합니다. -t, --tty TTY 모드(pseudo-TTY)를 사용합니다. Bash를 사용하려면 이 옵션을 설정해야 합니다. 이 옵션을 설정하지 않으면 명령을 입력할 수는 있지만, 셸이 표시되지 않습니다. --name 컨테이너 이름을 설정합니다. -d, ..

Kubernetes 2022.06.17

Argo CD 설치 on Kubernetes

Argo CD는 GitOps 환경을 만들어주는 Kubenetes Tool이다. 자세한 설명은 공식 Site가 있다. Argo CD 공식 문서에 자세한 설명이 나와 있다. 주요 기능은 다음과 같다. Declarative - 명령을 직접적으로 때리는 것이 아니라 코드를 통해 원하는 상태를 선언한다. GitOps - 원하는 상태를 정의한 코드를 Git 레파지토리에 올리면 Argo CD는 그것을 현재 상태에 반영한다. Continuous Delivery - Git 레파지토리에 있는 내용의 변화를 감지하고 계속해서 레파지토리 내용과의 Sync를 맞춘다. 즉, Argo CD는 쿠버네티스 리소스들의 현 상태를 사용자가 원하는 상태로 유지하려고 하는 지속적인 배포 도구이다. Argo CD 설치 argo 네임스페이스를 ..

Kubernetes 2022.04.21

JupyterLab image 생성

기존 사용하던 Image에서 추가 python library가 필요하여 기존 이미지 기반에 새로운 내용을 적용함 1. Docker File 만들기 FROM reddiana/jupyterlab-elyra WORKDIR /home/jovyan USER root RUN pip install torchtext==0.9.0 # 설치가 필요한 library RUN /usr/bin/python3 -m pip install --upgrade pip ARG NB_USER=jovyan EXPOSE 8888 ENV SHELL=/bin/bash RUN echo "set -o vi" >> /etc/bash.bashrc & echo "alias ll='ls -al'" >> /etc/bash.bashrc & echo "# Cont..

Kubernetes 2022.04.20

S3 (minio) 접속하기

Kubeflow에서 사용하는 Object Storage 에 대한 접속 방법이다. Kubeflow에는 기본으로 S3 Object Storage로 minio가 설치되어 있다. 외부 접속 주소 : http://{외부접속IP}:32001/ 초기 계정정보 * id : minio * pw : minio123 Web UI Minio의 경우 Web UI를 제공 (Chrome) S3 GUI (Freeware) 유명 FTP툴은 대부분 유료 버전 기능에서 S3를 지원 (Filezillar Pro 등). 아래 목록은 Freeware만 정리 쉬운 사용법, 익숙한 UI 시작 시, 화면 상단에 제조사 상품 배너 https://www.cloudberrylab.com/explorer/amazon-s3.aspx 널리 쓰임 Minio 등..

Kubernetes 2022.04.12