전체 글 (52) 썸네일형 리스트형 k8s ConfigMap? ConfigMap이란? 파드를 생성하면서 컨테이너에 입력해줘야하는 설정값이 있는 경우가 있다. 이 때 같은 이미지를 사용하더라도 설정에 따라서 애플리케이션이 다르게 동작할 수 있는데 이 때마다 이미지를 만들면 효율적이지 못하다. 이럴 땐 환경변수를 이용해서 파드를 생성하면서 설정값을 입력해줄 수 있다. 또한 환경변수를 사용하여 전달할 수도 있지만 설정이 여러가지가 있다고 하면 파드의 설정과 함께 작성하기에 복잡해질 수 있다. 이 때 파드의 yml과 설정 내용의 yml을 분리하기 위해 사용한다. (보안에 관련) 컨피그맵 생성 apiVersion: v1 kind: ConfigMap metadata: name: cm-dev data: SSH: 'false' User: dev 파드 생성 yml apiVersio.. k8s & Docker? Pod란? Pod는 컨테이너를 하나 이상 모아 놓은 것이다. 쿠버네티스 애플리케이션의 최소 단위이며, 강하게 결합된 여러 개의 컨테이너로 구성된 Pod도 있고(고급 활용 사례), 단일 컨테이너로만 이루어진 Pod도 있다. 매니페스트 매니페스트란 쿠버네티스의 오브젝트를 생성하기 위한 메타 정보를 YAML이나 JSON으로 기술한 파일 -실습- 도커에 로그인하여 빌드 + 푸쉬하고, 쿠버네티스에서 관리 + 통신확인 해보자! YAML 파일 생성 리눅스 환경에서 docker login ID,PW 입력해서 접속 mkdir /hello #디렉토리 생성 먼저 8000포트! vi Dockerfile #도커파일 생성 (맨 앞글자 대문자로 해야함!) FROM node:lts-slim ADD ./hello.js /hello.j.. k8s? k8s는 컨테이너화된 애플리케이션을 효율적으로 배포하고 운영하기 위해 설계된 오픈 소스 플랫폼 일상에서 사람들이 일반적으로 사용하는 애플리케이션은 사용자에게 좀 더 새로운 기능 좀 더 안정적이고 좀 더 빠른 서비스를 제공해야만 한다. 개발자들은 일반적으로 오픈 소스(남이 만든 것)를 사용하여 짧은 시간에 고품질의 애플리케이션을 개발한다. 하지만 오픈 소스의 경우 버전이 계속 바뀌기 때문에 같은 팀의 개발자들 간에도 서로 다른 버전을 사용하는 일이 발생한다. 이러한 상황에서 컨테이너를 활용할 수 있다. 필요한 라이브러리나 운영체제 패키지 등을 모두 컨테이너에 담아 쉽게 공유할 수 있다. *k8s는 구글의 사내 운영 시스템인 Borg를 오픈 소스로 만든 것 대표적인 기능 배포 계획에 맞춰 애플리케이션을 신속.. Docker? 컨테이너 개발 순서 1. 디렉토리를 준비, 이미지에 포함시킬 파일들을 모은다. 2. Dockerfile 작성 3. 컨테이너에서 실행할 애플리케이션 코드를 작성하고 유닛 테스트 실행 4. 이미지 빌드 5. 컨테이너를 실행하여 동작을 확인 도커 파일 도커 파일은 컨테이너를 만들고 해야 하는 일련의 작업들을 미리 선언함으로써 매번 해당 작업을 하지않고도, 컨테이너 생성 시 자동으로 등록된 작업이 실행된 후 컨테이너를 생성할 수 있는 파일 매뉴얼 작업을 기록한 Dockerfile 생성 (파일의 이름이 Dockerfile) 빌드 명령어가 Dockerfile 을 읽어 이미지를 생성 FROM alpine:latest # FROM 베이스 이미지 지정 RUN apk update && apk add figlet # RUN.. AWS OpenSearch Service 도메인 생성 + POSTMAN에서 사용할 때 설정 각 설정 - GET 방식의 주소 부분 교체 - Authorization - Type - Basic Auth - 아마존 도메인 ID, PW 입력 - Send! 결과창에 인덱스 목록이 조회되었다. ELK? 3. Elasticsearch + Logstash + Kibana 로그스태시(Logstash)는 오픈소스 데이터 수집 엔진으로, 다양한 소스에서 로그 데이터를 수집하고 가공하여 다른 저장소나 시스템으로 전송하는 역할을 함 작동 방식은 인풋 - 필터 - 아웃풋 -실습- *자바 설치 dnf -y install java-1.8.0-openjdk-devel.x86_64 -레포지토리 추가 cat > /etc/yum.repos.d/elasticsearch.repo "/var/log/secure" } } filter { grok { add_tag => [ "sshd_fail" ] match => { "message" => "Failed %{WORD:sshd_auth_type} for %{USERNAME:sshd_invalid_user} from %{IP:sshd_client_ip}.. ELK? 2. Kibana + Elasticsearch node 설정 -키바나 *자바 설치 dnf -y install java-1.8.0-openjdk-devel.x86_64 -레포지토리 추가 cat > /etc/yum.repos.d/elasticsearch.repo ELK? 1. Elasticsearch + POSTMAN = Elasticsearch : 저장소 Logstash : ETL도구(데이터 변환) Kibana : 시각화 도구(대시보드) -실습- 가상머신 준비 ( 총 5대를 준비하는데, 엘라스틱 서치를 설치할 PC는 CPU 2, MEM 4GB로 3대 준비하였다.) -엘라스틱 서치 = JMV Heap size - 컴퓨터의 기본 메모리 나누기 2(/2) *자바 설치 dnf -y install java-1.8.0-openjdk-devel.x86_64 -레포지토리 추가 cat > /etc/yum.repos.d/elasticsearch.repo 이전 1 2 3 4 5 6 7 다음