사전 작업 mkdir -p .gitlab/config mkdir -p .gitlab/logs mkdir -p .gitlab/data cs docker-compose.yaml (gitlab 공식 이미지 사용: https://docs.gitlab.com/ee/install/docker.html) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 version: '3' services: gitlab: image: "gitlab/gitlab-ce:15.9.1-ce.0" container_name: gitlab restart: always hostname: "127.0.0.1" environment: GITLAB_OMNIBUS_CONFIG: | external_url 'h..
Uploader 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 version: '3' services: test-uploader: build: . container_name: test-uploader command: sh -c 'sleep infinity' working_dir: /mydev volumes: - .:/mydev/test-uploader networks: - es_net elastic: image: docker.elastic.co/elasticsearch/elasticsearch:7.13.2 con..
개요 Kuberenetes의 RBAC 인증은 API Server에서 제공하는 인가 방식 중 하나이다. 보안 접근 통제 모델의 RBAC를 클러스터에 적용할 수 있도록 만들어진 듯 하다. RBAC(Role-based Access Control)에서 나오는 Role은 실제 기업 내의 역할을 말한다. 실제 인프라에서 웹 관리자와 DB 관리자라는 역할이 나눠놓고 운영하는데 이러한 역할을 Kubernetes 클러스터에 적용하면 기업의 상황에 맞게 접근 통제 설정이 가능해진다. 그래서 중요한 설정은 어떻게 하는 것인가 검색해보면 Role과 RoleBinding와 ClusterRole과 ClusterRoleBinding 이라는 놈들이 줄줄이 나오면서 뭔가 설정과 설명을 줄줄이 하고 있다. 글이 길어지면 읽기 싫어지니깐..
개요 kubespray로 kubernetes 클러스터를 구축하고 ingress-nginx에 웹 페이지를 올리려고 하는 과정에서 생각보다 시행착오가 많은거 같다. 단순히 ingress, service, deployment를 대충 올리고 웹 페이지 올리면 되겠다고 생각했는데 Deployment를 생성하는 과정에서 번거로워지는 작업들이 많아져서 추가로 정리하고자 한다. 현재 Deployment 구축을 테스트하는데 사용한 클러스터는 VMware에서 3개의 VM을 만들어서 생성하였고, Master 노드 1개(master1)와 Worker 노드 2개(worker1, worker2)로 구성된다. Deployment 구축 우선 이전 글에서 ingress-nginx를 구축하는데 사용했던 Deployment이다. 일단은 ..
Dockerfile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 FROM ubuntu:latest ARG DEBIAN_FRONTEND=noninteractive ENV USER user1 ENV TZ=US/Denver RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN sed -i'' 's/archive\.ubuntu\.com/us\.archive\.ubuntu\.com/' /etc/apt/sources.list RUN apt-get update RUN apt-get ins..
사진을 안 찍어둬서 사진이 없다.....ㅠㅠ 첫 번째 확인할 항목 우선 Docker가 설치된 호스트에서 ifconfig를 이용하여 정상적으로 인터넷이 연결되어 있는지 확인한다. 정상적으로 인터넷이 연결되어 있다면 172.17.0.1 ~172.17.255.254 사이의 ip 주소를 가지고 있을 것이다. 인터넷이 연결되어 있지 않다면 인터넷 주소가 할당되어 있지 않을 것이다. docker0 interface에 관련된 docker 네트워크에 대해 참고하면 좋은 글 : http://bluese05.tistory.com/15 첫 번째 항목의 해결방법 Docker의 Container의 문제가 아니라 Docker가 설치된 호스트 자체에서의 문제다. 이전에 VM의 Virtual Network 설정(DHCP 쪽)을 건든..
Docker 란? 2013년에 가상화의 문제점(무겁고 성능이 떨어짐)을 해결하기 위해 나온 방법, 이미지를 이용하여 컨테이너를 만들고 컨테이너를 이용해 컴퓨터의 자원을 사용(http://www.docker.com/) --------------------------------------------------------------------------------------------------------------------------------------Docker 설치(Ubuntu 기준) (root 권한)12345$ apt-get update$ apt-get install docker$ apt-get install docker.io$ ln -sf /usr/bin/docker.io /usr/local/bi..