목록docker (9)
Run The Bridge

0. What is Container Image Signatures 컨테이너에 서명이라고 하니까 되게 낯설게 느껴진다. 내가 생각한 바로는 흔히들 인증서를 생성하고, 그 인증서에 대해 서명을 받는다. Digicert와 같은 회사들이 이 인증서는 올바른 인증서라고 보장해준다. 그러면 해당 개념을 컨테이너로 가져와서 적용하면 어떻게 될까? 컨테이너 이미지가 변조되거나, 신뢰할 수 없을 때 우리는 서명을 통해 해당 컨테이너의 무결성 상태를 알 수 있다. 만약 변조되거나 신뢰할 수 없다면 서명이 똑바로 되어있지 않을 것이다.(예상) 결론적으로 컨테이너 이미지의 출처를 확인하고, 이미지의 무결성 확인과 시스템에서 검증된 이미지만 사용할 수 있도록 하는 것. 즉, 이미지 서명을 통해 신뢰성을 향상시킬 수 있다. 1..

0. 들어가기에 앞서 podman이란? podman컨테이너 작업을 위한 오픈 소스 Linux 도구 docker.io 및 quay.io와 같은 registry의 컨테이너가 포함된다. Red Hat Enterprise Linux 8 / CentOS 8부터는 Docker 대신 Podman Pod라고 하는 컨테이너 및 컨테이너 그룹을 관리할 수 있는 libpod 라이브러리 기반 https://docs.podman.io/en/latest/# ← 공식문서 링크 1. Docker vs Podman 컨테이너를 올리기 위해서 가장 많이 사용되는 기술로는 docker가 제일 유명하다. Dokcer 엔진을 통해 생성된 컨테이너를 관리하는 소프트웨어가 바로 kubernetes일 것이다. 처음 docker를 배우기 전에 아래 ..

교육 들으면서 쿠버네티스 관련 내용은 많이 적은 거 같은데, 정작 중요한 설치 가이드가 없었다. 그래서 복습 겸 설치도 중요하니까 이렇게 설치 가이드 게시글을 만들어본다. 우리는 Master 1대, Worker 1대로 구성한다.(CPU 2 core, RAM 2GB, HDD: 100GB) - master: 192.168.200.14 - worker: 192.168.200.15 우선 Centos7 기준으로 설치해주면 된다. 설치중... 1. hostname 변경 hostnamectl set-hostname kube-master 2. /etc/hosts 변경(Node 간 통신을 위해 hosts에 정의해준다.) 192.168.200.14 kube-master 192.168.200.15 kube-worker 3...

0. 들어가기에 앞서 11월 9일 발표를 마지막으로 쿠버네티스 엔지니어 양성과정을 끝마쳤다. 마지막으로 블로그+github에 그간 작성해온 yaml파일을 정리하고, 누군가에게 도움을 줄 수 있으니 포스팅을 해본다. 1. zabbix data를 정리할 mysql 올리기 우선 나는 NFS를 잡아서 데이터들을 3개의 Node에서 모두 접근하도록 만들어놓았다. NFS 만드는 방법은 예전에 올린 블로그 글을 참여하거나 구글링을 통해 손쉽게 구현이 가능하다. AWS를 쓰시는 사람은 AWS에서 제공하는 NFS서버가 존재하니 그걸 공부하셔서 적용하면 된다. 우선 Master와 Worker 2대를 사용한다.(서비스가 작기 때문에 온-프레미스도 상관없다.) NFS dir를 만들어서 폴더를 생성하고 Data volume를 ..

0. 들어가기에 앞서 11월이 되면서 쿠버네티스 프로젝트 기간이 끝나간다. 중간중간에 수정이랑 변경이 많았는데.... 마지막 날에 쭉 정리하려고 아직 글을 작성하지 않았다. 오늘은 쿠버네티스 상에서 컨테이너가 외부 통신을 하는 패킷을 잡는 방법을 한 번 해보자!! 들어가기 전에! 쿠버네티스 아키텍처를 잠깐 공부하고 오면 매우 도움이 됩니다~~ ^____^ 1. docker container ID 현재 내가 운영하고 있는 Pod들은 다음과 같다. 올라가 있는 Pod의 Container ID는 Docker 명령어를 통해서 알 수 있다. 일단 zabbix-server의 Container ID를 먼저 알아본다. k describe pod -n zbx zabbix-server-55b5765c8f-ng4hm # 나..

0. 들어가기 전에 우리가 설치한 gitlab은 docker hub에서 찾으면 다음과 같다. 먼저 gitlab을 검색한다. 여러 가지 버전들이 존재하는데 우리가 사용한 버전은 바로 gitlab/gitlab-ce이다. 3번째에 Using GitLab Docker images를 들어가면 사용법을 볼 수 있다. 1. 예전에 쓴 ToyProject를 GitLab 저장소에 저장 먼저 GitLab에서 Project를 먼저 생성해야 한다. 그다음 'Create blank project'를 클릭 마지막에 README는 체크를 해제한다. 각 프로젝트 이름은 'api1', 'api2', 'main'으로 지정한다.(임의설정) 생성된 모습을 볼 수 있다. 1. 이제 toyproject가 있는 디렉터리로 가서 git으로 관리시..

# .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' #alias ls='ls -lt' alias vi='vim' alias cl='clear' alias dps='docker ps -a' alias kgr='kubectl get replicaset' alias kgd='kubectl get deployment' alias kgp='kubectl get pods -o wide' alias kgs='kubectl get service -A' alias kgps='kubectl get pod --show-labels' alias kgn='kubectl get namespaces' ali..

인그레스(ingress) 사전적 의미로 '진입' (반대 의미로는 '진출' egress를 사용) 네트워크 7계층(L7) 레벨에서 정의하는 쿠버네티스 오브젝트 외부 요청의 라우팅 가상 호스트 기반의 요청 처리 SSL/TLS 보안 연결 처리 등 TCP/IP 통신을할 때는 IP와 Port가 필요하다. → 한계가 존재한다. 해당 도메인에 대한 하위정보에 이런 경로가 있고, image가 있고 확인이 가능하다 → L7 switch(응용레벨제어) 인그레스 설정만으로는 인그레스가 동작하지는 않는다 → 인그레스 컨트롤러(Ingress Controller) 설치 필요 (실습) ingreess # vi ingress-example.yaml apiVersion: networking.k8s.io/v1beta1 kind: Ingr..