CLOUD/Docker&Kubernetes 21

[Kubernetes] Service - 롤링 업데이트

2023.04.25 - [분류 전체보기] - [Kubernetes] Service - LoadBalancer : Django-Apache 연동 이미지 파드 생성하기 [Kubernetes] Service - LoadBalancer : Django-Apache 연동 이미지 파드 생성하기 ♡ 순서 ♡ 1. 이미지 만들기 2. K8S Dashboard 에서 Django-Apache&MySQL : Pod / ConfigMap / Service 생성 3. Service - LoadBalancer 생성 ● 기본 설정 2023.04.25 - [분류 전체보기] - [Kubernetes] Service - LoadBalancer [Kubernetes] Se alsrudalsrudalsrud.tistory.com 이 파드를..

[Kubernetes] Service - LoadBalancer : Django-Apache 연동 이미지 파드 생성하기

♡ 순서 ♡ 1. 이미지 만들기 2. K8S Dashboard 에서 Django-Apache&MySQL : Pod / ConfigMap / Service 생성 3. Service - LoadBalancer 생성 ● 기본 설정 2023.04.25 - [분류 전체보기] - [Kubernetes] Service - LoadBalancer [Kubernetes] Service - LoadBalancer ♡ 순서 ♡ 1. 온프레미스 환경에서 로드밸런서 사용하기 2. 로드밸런서 타입의 서비스 생성해보기 (nginx) [ 온프레미스 환경에서 로드밸런서 사용 설정 ] 참고 : https://mlops-for-all.github.io/docs/appendix alsrudalsrudalsrud.tistory.com [ L..

[Kubernetes] Service - LoadBalancer

♡ 순서 ♡ 1. 온프레미스 환경에서 로드밸런서 사용하기 2. 로드밸런서 타입의 서비스 생성해보기 (nginx) [ 온프레미스 환경에서 로드밸런서 사용 설정 ] 참고 : https://mlops-for-all.github.io/docs/appendix/metallb/ 2. bare-metal 클러스터용 load balancer metallb 설치 MetalLB란? # Kubernetes 사용 시 AWS, GCP, Azure 와 같은 클라우드 플랫폼에서는 자체적으로 로드 벨런서(Load Balancer)를 제공해 주지만, 온프레미스 클러스터에서는 로드 벨런싱 기능을 제공하는 모듈을 mlops-for-all.github.io ● ARP 모드 확인 kubectl get configmap kube-proxy -..

[Kubernetes] Nginx - Gunicorn - Mysql 3계층 연동하기 (Pod/ConfigMap/Service)

안녕 ¡∇¡ !! 오늘은 ~ K8S Dashboard 의 Pod / ConfigMap / Service 를 이용해 Nginx(front) - Gunicorn(back) - MySQL(db) 3계층을 연동해보자 ! ♡ 순서 ♡ 1. MySQL - Service, ConfigMap, Pod 작성 2. 장고 프로젝트 준비 3. Gunicorn 이미지 도커에 업로드 4. Gunicorn - Service, ConfigMap, Pod 작성 5. 리액트 프로젝트 준비 6. Nginx 이미지 도커에 업로드 7. Nginx - Service, ConfigMap, Pod 작성 8. 확인해보기 (푸티 / 웹 브라우저) ¡ Dashboard 에 생성할 것 ¡ > Service : nginx-svc, django-svc, m..

[Kubernetes/CentOS] 쿠버네티스 환경 구축하기

♤ CentOS 8 가상머신 3대 준비 ♤ ♠ Master ♠ 200.200.200.134 ♠ Node1 ♠ 200.200.200.135 ♠ Node2 ♠ 200.200.200.136 [ 3대 공통 ] ● 호스트 이름 설정 # vi /etc/hostname master 또는 node1 또는 node2 # vi /etc/hosts 200.200.200.134 master 200.200.200.135 node1 200.200.200.136 node2 ● 방화벽 설정 # 포트 허용 firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=2379-2380/tcp firewall-cmd --permanent --add-por..

[Docker/Linux] 도커 네트워크 확인하기

● 장치 확인 ip addr 》 docker 설치 시 docker0 이라는 장치가 추가되어 있음 ip -c -br link 》 docker 설치 시 docker0 장치는 DOWN 상태 ● 장치 타입 확인 nmcli connection show 》 docker0 는 브릿지 타입의 장치 ● 컨테이너 실행 docker run -dit --name doc1 alpine ash ● 네임스페이스 확인 lsns --type=net ● 장치 확인 ip -c -br link 》 컨테이너가 해당 장치를 사용할 때 UP 상태로 변경 》 veth- 장치가 추가된 것 확인 ● 연결 확인 ip a docker exec doc1 ip a 》 장치A@장치B : 서로의 장치가 연결되어 있는 것을 확인 ● 라우팅 확인 docker ex..

[Docker/Linux] 가상 네트워크 - 브릿지 장비로 통신하기 (도커없이)

● namespace 생성 & 확인 # 생성 ip netns add ns1 ip netns add ns2 # 확인 ip netns list ● 가상의 Bridge 생성 ip link add bridge1 type bridge ip link add bridge2 type bridge ● Bridge 확인 # 설치 yum install -y epel-release yum install -y bridge-utils # 확인 brctl show ● 가상의 링크 생성 ip link add ns1-veth type veth peer name ns1-veth-br ip link add ns2-veth type veth peer name ns2-veth-br ● 각 namespace를 링크에 연결 ip link set..

[Docker/Linux] 가상 네트워크 설정하기

● namespace 확인 lsns ● namespace 생성 & 확인 # 생성 ip netns add ns1 # ip netns add [namespace 이름] # 확인 ip netns list # lsns으로 확인 : 네트워크를 사용하는 PID가 없어서 목록이 안나옴 ● 가상의 네트워크 장치 추가 & 삭제 # 추가 ip link add veth-ns1 type veth # 이름 : veth-ns1 , 타입 : veth # 확인 ip addr # 삭제 ip link del veth-ns1 ● 가상의 링크 생성 ip link add veth-ns1 type veth peer name veth-ns2 # veth-ns1 생성 # veth-ns2 생성 ● namespace에 링크 연결 ip link set..

[Docker/Pycharm] Nginx - Gunicorn - MySQL 3계층 연동하기

☆ Pycharm Professional 버전 준비 ( 도커 사용 ) ☆ [ 기본 구성 ] ● Pycharm에서 Docker 연결할 수 있게 설정 # vi /usr/lib/systemd/system/docker.service 변경 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock # 파일 변경 후 재시작 systemctl daemon-reload systemctl restart docker ※ 다시 원래대로 돌릴 때 alias docker="docker -H [본체 ip]" ● 방화벽 설정 》 방화벽이 활성화 되어 있어야 도커 네트워크 사용 가능 firewall-cmd --permanen..

[Docker/Linux] 컨테이너 개발하기

● 컨테이너 개발 순서 ① 디렉토리 준비, 이미지에 포함시킬 파일 준비 ② Dockerfile 작성 ③ 유닛 테스트 ④ 이미지 빌드 ⑤ 컨테이너 실행, 동작 확인 [ 실습 ] ● Dockerfile FROM alpine:latest# 베이스 이미지 지정 RUN apk update && apk add figlet# 컨테이너에서 실행할 명령어 지정 ADD ./message /message# 컨테이너에 추가할 파일, 현재 디렉토리의 message 파일을 컨테이너의 / 디렉토리에 배치 CMD cat /message | figlet# 컨테이너가 실행된 후 실행할 명령어 지정 ● message TEST ● 실행 docker build --tag message:1.0 . docker run message:1.0

728x90