분류 전체보기 (48) 썸네일형 리스트형 kubernetes ingress What is Ingress?인그레스는 클러스터 외부에서 클러스터 내 서비스로의 HTTP 및 HTTPS 경로를 노출합니다. 트래픽 라우팅은 인그레스 리소스에 정의된 규칙에 의해 제어됩니다. 왜 사용할까?접근하려는 엔드포인트마다, 로드밸런서를 붙이기에는 현실적으로 어렵기에,ingress의 URI기반 라우팅을 이용하여 로드밸런서 수를 최소화할 수 있습니다. 그림과 같이 path 기반으로 각각 다른 서비스로의 라우팅이 일어나고 있습니다.아래는 해당 그림에 대한 Ingress.yaml 파일입니다. apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: simple-fanout-examplespec: rules: - host: foo.bar.com .. 사이드카 활용 패턴과 namespace 활용 전략 sidecar pattern - Adapter주 컨테이너가 출력하는 데이터를 외부 시스템이 이해할 수 있도록 변환해주는 역할 주 컨테이너는 로그나 데이터를 자체 포맷으로 출력 / 외부 시스템 (모니터링 툴, 로깅 시스템)은 특정 포맷(JSON 등)을 요구하는 경우기존 시스템을 바꾸기 어려울 때 중간에서 변환기로서 사용Metrics data를 Prometheus가 이해할 수 있도록 변환하는 Exporter도 adapter로 볼 수 있음주 컨테이너가 단순 text로 로그를 출력 -> 로그 수집기인 Fluentd 형식(JSON)으로 변환하여 전달하는 경우Pod├── main-container (앱: 로그를 plain text로 출력)└── adapter-container (텍스트를 JSON으로 변환해서 lo.. kubernetes - service, namespace, configmap, secret service여러 개의 파드에 쉽게 접근할 수 있도록 고유한 도메인 이름 부여여러 개의 파드에 접근할 때, 요청을 분산하는 로드 밸런서 기능클라우드 플랫폼의 로드밸런서, 노드 포트 등을 이용해 파드를 외부로 노출 service 종류clusterIP : 쿠버네티스 내부에서만 파드들에 접근할 때 사용NodePort : 파드에 접근할 수 있는 포트를 클러스터의 모든 노드에 동일하게 개방 / ${nodeIP}:${NodePort}로 외부에서 접근LoadBalancer : 클라우드 플랫폼에서 제공하는 로드 밸런서를 동적으로 프로비저닝 하여 파드에 연결 / 외부에서 접근할 수 있는 서비스 타입 (GCP, AWS 와 같읕 클라우드 프로바이더 제공) clusterIP typeapiVersion: v1kind: Serv.. 쿠버네티스 설치 및 기본 개념 (pod, replicaset, deployment) 쿠버네티스 설치 쿠버네티스 설치부분은 이전에 포스팅한 글로 대체하겠습니다. kubeadm을 이용한 설치 - 온 프레미스https://wath1457.tistory.com/23 우분투 쿠버네티스 1.31 클러스터 생성하기OS : Ubuntu 22.04 kubeadm을 이용하여 쿠버네티스 클러스터를 구축해 보겠습니다. 공통) 모든 노드에서 진행 1. swap 비활성화# swap 활성화 되어있는지 확인free -h# 해당 파일을 수정하여 swap 부분을wath1457.tistory.com kind (kubernetes in docker) - 로컬 환경에서 쉽게 쿠버네티스 환경 구성하기해당 방법은 로컬 컴퓨터에 미리 정의한 yaml파일을 가지고 쿠버네티스의 한 노드가 하나의 컨테이너로 띄워지는 환경입니다... 도커 컴포즈 (설치 및 개념) 본 포스팅은 시작하세요! 도커/쿠버네티스 서적 기반으로 작성한 포스팅입니다. 도커 컴포즈가 필요한 이유도커커를 이용하여 웹 서버 컨테이너와 데이터베이스 컨테이너를 이용하여 웹 애플리케이션을 구동하려는 경우# 여러 컨테이너로 구성된 애플리케이션을 구동하기 위해선 여러 개의 run 명령어가 요구됨docker run --name mysql -d alicek106/composetest:mysql muysqlddocker run -d -p 80:80 \--link mysql:db --name web \alicek106/composetest:mysql:web apachectl -DFOREGROUND 따라서 여러 개의 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리하기 위한 도커 컴포즈가 나오게 되었음. 여.. Docker Engine 핵심 정리 본 포스팅은 시작하세요 도커/쿠버네티스 서적 내용 기반으로 작성된 게시글입니다. 도커 이미지도커 이미지는 다음과 같은 형태를 띄고 있다.도커 이미지의 태그는 생략할 수 있으며, 생락한다면 latest 태그로 인식한다.# 저장소이름/이미지 이름:태그wath1457/ubuntu:22.04 다만, 저장소 이름은 생략 가능하며, 저장소 이름이 명시되지 않은 이미지는 Docker Hub의 공식 이미지를 의미한다. # 도커 허브에 저장될 이미지라는 것을 명시하기 위에 이미지 이름 최상위에 docker.io를 붙이기도 한다# docker.io 외에도 gcr.io 등 컨테이너 레지스트리마다 다를 수 있다.docker.io/wath1457/ubuntu:22.04 도커 컨테이너 컨테이너 기본 사용자는 root이고, 호.. 테라폼 개인 프로젝트 - Terraform workflow 구성하기 Terraform Cloud + Github Terraform을 사용하는데 협업하여 사용하는데 있어서 가장 중요한 것 중 하나는 Terraform state 관리입니다. GitLab의 경우에는 Terraform Steate 파일을 따로 관리할 수 있는 managed service를 제공하고 있지만, Github의 경우에는 그렇지 않기에, 따로 관리를 해주어야 합니다. 보통은 Terraform state 관리를 위해 AWS S3 + DynamoDB를 Terraform backend로 활용하지만, 이번에는 좀더 빠르고 쉽게 구성해보기 위해 Terraform Cloud를 이용하여 Terraform의 관리를 해보려고 합니다. Terraform Cloud 설정 Terraform Cloud에 접속하여, 회원이.. 테라폼 사용 권장사항 https://cloud.google.com/docs/terraform/best-practices-for-terraform?hl=ko#security Terraform 사용 권장사항 | Google Cloud의견 보내기 Terraform 사용 권장사항 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문서에서는 여러 팀 멤버와 작업 스트림 간의 Terraform을 사용한 효율적cloud.google.com GCP에서 제공하는 테라폼 사용 권장사항의 일부를 정리하였습니다. 일반 스타일 구조 가이드라인> 단어 구분을 위한 밑줄을 이용해서 모든 구성 객체의 이름을 지정합니다. -> "web_server"resource "google_compute_instance" "web.. 이전 1 2 3 4 ··· 6 다음