본문 바로가기

Devops

(21)
[Docker] 도커로 몽고db 설치하기 몽고DB 이미지는 아래 도커 허브에 공식적으로 릴리즈 되고 있다. https://hub.docker.com/_/mongo 우선 docker 이미지를 받아본다. root@DESKTOP-GH94F8C:~# docker pull mongo Using default tag: latest latest: Pulling from library/mongo bccd10f490ab: Pull complete b00c7ff578b0: Pull complete a1f43ab85151: Pull complete 9e72f6a5998a: Pull complete 8424336879e4: Pull complete 85a6d3c2e6c8: Pull complete c533c21e5fb8: Pull complete 1fddf702bb..
[Docker] Harbor 로컬 컨테이너 저장소 Push 하기 Harbor 로컬 컨테이터 서버가 구축되었으면 로컬에서 도커 이미지를 빌드해서 Push하고 쿠버네티스에서 해당 Image를 pull 해보도록 테스트 해본다. Harbor 로컬 컨테이너 저장소 구성 관련 내용은 아래 post에 나와 있다. https://kindloveit.tistory.com/129 Harbor 신규 프로젝트 생성 Harbor 로 로그인 (초기 비번은 admin/Harbor12345) 후 신규 프로젝트를 생성한다. 생성팝업에서 Project 명을 입력한다. Push하고자 하는 도커 이미지를 빌드한다. 빌드시 tag명 앞에 push 대상 서버 주소(172.17.0.1)을 적어준다. root@DESKTOP-GH94F8C:/home/kindlove/test# docker build -t 172..
[Docker] Harbor 로컬 컨테이너 저장소 구축하기 Docker는 Docker Hub라는 공용 이미지 관리 서비스를 제공하고 있다. 그러나 오픈되어 있기 때문 누구나 접근 가능하므로 기업의 내부 프로젝나 공개하고 싶지 않은 개인 프로젝를 진행하는 경우 로컬 이미지 저장소가 필요할 수 있는데 오픈소스인 Harbor가 그 답이 될 수 있다. 공식 홈페이지는 아래와 같다. 최신정보는 아래 홈페이지에서 찾아보자 https://goharbor.io Harbor 설치 Harbor는 docker-compose로 구동을 시키므로 docker-compose가 설치되어 있지 않다면 설치하도록 한다. apt-get install docker-compose 인증서 생성 # 인증기관 인증서 생성 root@DESKTOP-GH94F8C:/home/kindlove/temp# open..
[Kubernetes] 쿠버네티스 Dashboard 설치하기 쿠버네티스 공식 홈페이지 yml로 서비스 설치를 수행한다. root@master:~# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml namespace/kubernetes-dashboard unchanged serviceaccount/kubernetes-dashboard unchanged service/kubernetes-dashboard created secret/kubernetes-dashboard-certs created secret/kubernetes-dashboard-csrf configured Warning: resource secrets/kuberne..
[Kubernetes] jenkins Kubernetes 에 설치 및 배포하기 jenkins 를 kunernetes cluster 내부에 설치하고 pod 배포가 되도록 설정을 해본다. Kubernetes 상에서 Jenkins 설치하기 젠킨스 설치를 위한 yaml은 아래 git 에서 기본적으로 제공하고 있다. 아래 내용을 다운로드 받는다. git clone https://github.com/scriptcamp/kubernetes-jenkins namespace 를 아래와 같이 생성한다. kubectl create namespace devops-tools serviceAccount.yaml 실행 --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: jenkins-admin rules: - apiGr..
[Kubernetes] ingress 설정 Ingress 클러스터 외부에서 내부로 접근 요청을 어떻게 처리할 지 정의해 둔 규칙 L7 어플리케이션 수준의 접근 요청 처리 방법 제공 URL 제공, 트래픽 로드밸런스, SSL 인증처리, 도메인 기반 가상 호스팅 등 HAProxy, Envoy, Kong 같은 소프트웨어 프록시 등 3rd-party 소프트웨어 제공사에 의해서 제공되기도 함. 인그레스 : 접근 규칙(Rule)이 정의된 자원 인그레스 컨트롤러 : 인그레스 접근 규칙을 기반으로 제어 현재 공식적으로 제공하는 인그레스 컨트롤러 ingress-gce : Google Compute Engine용 ingress-nginx : nginx 웹 서비스로 들어오는 요청을 처리 Ingress 생성 전 Sample Backend Service 생성 Ingres..
[Kubernetes] apt-get 시 public key is not available: NO_PUBKEY 에러 수정 간만에 쿠버네티스 노드를 재 구축하려고 apt-get을 하니 아래와 같이 에러가 발생을 하였다. root@master:/etc/apt# sudo apt-get update Hit:2 http://kr.archive.ubuntu.com/ubuntu bionic InRelease Hit:3 http://security.ubuntu.com/ubuntu bionic-security InRelease Hit:4 http://kr.archive.ubuntu.com/ubuntu bionic-updates InRelease Hit:5 http://kr.archive.ubuntu.com/ubuntu bionic-backports InRelease Get:1 https://packages.cloud.google.com/a..
[Synology Docker] Oracle 12c password expired 처리 Sysnology Docker 상에서 Oracle 12c를 구동중에 DB접속 시 password expired 에러 메세지가 발생할 수 있다. 기본 패스워드 유지기간이 지나면 만료되 버리는 것이다. Synology docker를 사용할 경우 docker 웹앱 상에서 console로 접근하여 간단히 패스워드 초기화를 할 수 있다. Docker Oracle Console로 패스워드 초기화 하기 Synology -> Docker 앱에 진입하여 Container 리스트에 진입한다. 12.2.0.1-slim 이미지로 도커 컨테이터가 실행되고 있음을 볼 수 있다. 상단의 Datails를 선택해서 컨테이터 상세정보 창으로 이동한다. 컨테이터 상세 정보 창 상단에 Terminal메뉴로 진입한다. Terminal메뉴에서..