분류 전체보기 (65) 썸네일형 리스트형 Deployment & Service Deployment - stateless 애플리케이션을 배포할 때 사용 - 디플로이먼트 배포 전략은 애플리케이션이 변경될 때 사용하며 주로 버전의 업데이트가 필요한 경우에 사용 1. 롤링 업데이트(순차적 업데이트) - 표준 업데이트 방식 - 새 버전의 애플리케이션은 하나씩 늘려가면서 기존 버전의 애플리케이션은 하나씩 줄여나가면선 배포하는 방식 - 업데이트 속도는 느리지만 새로운 버전으로 배포된 파드에 문제가 생긴다면 이전 버전의 파드로 대체할 수 있어 안정적인 배포 방식 2. 재생성 업데이트 - 모든 이전 버전의 파드를 한 번에 종료하ㅗ 새 버전의 파드로 일괄적으로 교체하는 방식 - 빠른 업데이트가 가능하지만 파드에 문제가 발생하면 대체가 안됨 3. 블루/그린 업데이트 - 이전 버전과 새 버전의 애플리케.. 파드 생성하고 관리하기 파드 생성 - 명령어 kubectl create : 클러스터에 새로운 리소스를 생성 kubectl apply : create와 replace의 혼합 deployment : stateless 형태의 파드 생성 * stateless : 상태나 세션을 저장해 둘 필요가 없는 애플리케이션에 사용 stateful : 상태나 세션을 별도의 데이터베이스에 저장해야 하는 애플리케이션에 사용 my-httpd : deployment 이름 --image=httpd : 파드를 생성하는데 사용되는 이미지 --replicas=1 : running 상태를 유지할 파드 개수 --port=80 : 파드에 접근할 때 사용할 포드 번호 READY : 레플리카의 개수 UP-TO-DATE : 최신 상태로 업데이트된 레플리카의 개수 AVAIL.. 쿠버네티스 설치 쿠버네티스 설치전 기본 세팅 1. selinux 비활성화 현재 selinux를 pemissive로 바꾸고 재부팅 후에도 비활성화 되도록 설정 파일 변경 2. 방화벽 비활성화 3. swap 메모리 비활성화 재부팅 후에도 swap 메모리가 비활성화 되도록 오토 마운트 설정 벼녕 4. iptalbes 커널 설정 5. hosts 설정 6. 패키지 업데이트 yum -y update 쿠버네티스 설치 1. docker 설치 2. Cgroup Driver 설정 쿠버네티스에서 도커의 cgroup 관리를 위해 systemd를 사용하도록 변경해야 한다 변경하지 않을 시 클러스터 설치 과정에서 오류가 발생할 수 있다 3. 쿠버네티스 리포지토리 추가 4. 쿠버네티스 패키지 설치 kublet : 파드 및 컨테이너의 생성, 실행 .. 쿠버네티스의 이해 쿠버네티스(Kubernates) - 컨테이너 기반의 애플리케이션을 개발하고 배포할 수 있도록 설계된 오픈 소스 플랫폼 - 기본적으로 1대의 마스터 노드와 워커 노드로 구성됨 - 서비스 중단 없이 애플리케이션을 업그레이드할 수 있어서 안정적으로 서비스를 제공할 수 있음 - 오픈 소스로 특정 클라우드 벤더에 종속되어 있지 않고 다른 제품과의 호환성이 뛰어남 - 파드가 사용할 수 있는 컴퓨팅 리소스(CPU, 메모리 등)을 사전에 지정할 수 있어서 노드의 전체 자원을 관리할 수 있음 - 자원 사용률에 따라 파드의 개수를 늘리거나 줄이는게 가능 - 개발자가 인프라에 대한 정보 없이도 컨테이너화된 애플리케이션을 쉽게 배포하는 것이 가능 ● 파드 : 쿠버네티스의 가장 기본적인 배포 단위, 휘발성으로 삭제 시 파드 안.. 쿠버네티스 시작 전 기본 개념 컨테이너 - 애플리케이션 및 서비스를 실행하는 데 필요한 모든 요소를 포함하는 소프트웨어 패키지 - 하드웨어 수준에서 가상화되는 일반적인 가상화 환경과 다르게 컨테이너는 운영 체제 수준에서 가상화 - 자원을 더 적게 사용하기 때문에 하나의 시스템에서 더 많은 애플리케이션을 구동하는 것이 가능 - 패치, 업데이트 등 유지 관리와 관련한 오버헤드가 줄어듬 컨테이너 런타임 - 컨테이너를 생성하고 실행할 수 있도록 도와주는 도구 - 대표적으로 컨테이너디, 도커, 크라이오가 있음 컨테이너 오케스트레이션 - 컨테이너를 효과적으로 관리하도록 도와주는 도구 - 여러 노드에 컨테이너를 분산해서 배치하거나 문제가 생긴 컨테이너를 교체하는 등의 역할을 함 - 대표적인 것이 쿠버네티스(Kubernetes)으로 컨테이너의 배포.. 루트 힌트 실습을 위해 Client200도 서버로 사용 Client200에 DNS 서버 설치 후 루트 도메인 생성 S200에 Sub DNS com 생성 후 www 호스트까지 생성 Root DNS(.)에서 Sub DNS(com) 위임 Local DNS 에서 루트힌트에 Root DNS 추가 Client100에서 www.com을 검색했을 때 루트 힌트를 통해 Local DNS가 Root DNS에게 질의, Root DNS가 Sub DNS에 질의 Sub DNS는 질의에 대한 응답을 Local DNS에 돌려줌으로써 Client100에서 도메인 검색이 가능한 것을 확인할 수 있다 (Domain NameSapce 구조 : Root domain -> top-level domain -> second-level domain) IIS 웹서버 및 FTP 서버 웹 서버는 기본적으로 설치되어 있기 때문에 FTP 서버만 추가적으로 설치한다 웹 사이트와 함께 사용할 도메인 및 호스트 생성 Client100에서 웹 사이트에 접속 해보면 기본 웹 페이지가 뜨는 것을 확인할 수 있다 (리눅스 Apache 웹서버의 TEST 페이지와 동일하다고 보면 됨) 웹 사이트 고급 설정과 기본 문서를 살펴보면 웹 페이지를 띄우는 파일의 경로와 이름, 확장자를 알 수 있음 (기본 문서 같은 경우 위부터 아래로 우선순위를 가짐) 실제 경로(inetpub\wwwroot)에 가서 확인 해보면 기본 웹페이지 파일로 iisstart.html 파일만 있는 것을 확인할 수 있음 index.html 파일을 Client100에서 작성 후 FTP를 통해 옮기는 작업을 해보도록 한다 IIS 관리자(inet.. APM APM - Apache, PHP, Mariad를 연동 * DNS 구성 패키지 설치 및 방화벽 설정을 끝낸 후 네임 서버와 호스트는 다음과 같이 구성했다 https://toyfactory96.tistory.com/39(기본 설정은 DNS 정리 글을 참고한다) DNS + HTTP Linux에 기본적으로 존재하는 DNS 관련 파일 1. /etc/hosts - 컴퓨터에 문자주소가 입력되면 가장 먼저 확인하는 파일 이 문서에 해당 FQDN이 저장되어 있다면 매핑된 IP 주소로 연결 - 형식 2. /etc/resolv.co toyfactory96.tistory.com * DB server 구성 패키지 설치 및 방화벽 설정 후 필수작업까지 마쳐준다 https://toyfactory96.tistory.com/62(기본.. 이전 1 2 3 4 ··· 9 다음