k8s7 Kubernetes 인 액션 8장 애플리케이션에서 파드 메타데이터와 그 외 리소스에 액세스하기 다루는 내용 컨테이너에 정보를 전달하기 위해 Downward API 사용 쿠버네티스 REST API 살펴보기 인증과 서버 검증을 kubectl proxy 에 맡기기 컨테이너 내에서 API 서버에 접근하기 앰배서더 컨테이너 패턴을 이해 쿠버네티스 클라이언트 라이브러리 사용 특정 파드와 컨테이너 메타데이터를 컨테이너로 전달하는 방법과 컨테이너 내에서 실행 중인 애플리케이션이 쿠버네티스 API 서버와 통신해 클러스터에 배포된 리소스의 정보를 얻는 것이 얼마나 쉬운지를, 더 나아가 이런 리소스를 생성하거나 수정하는 방법을 다룰 것이다. 8.1 Downward API 로 메타데이터 전달 파드의 IP, 호스트 노드 이름 또는 파드 자체의 이름과 같이 실행 시점까지 알려지지 않은 데이터의 경우는 어떨까? 파드의 레이.. Devops/Kubernetes 2023. 6. 20. Kubernetes 인 액션 7장 컨피그맵과 시크릿: 애플리케이션 설정 다루는 내용 컨테이너의 주 프로세스 변경 애플리케이션에 명령줄 옵션 전달 애플리케이션에 노출되는 환경변수 설정 컨피그맵으로 애플리케이션 설정 시크릿으로 민감한 정보 전달 7.1 컨테이너화된 애플리케이션 설정 왜 환경변수를 사용하는 것이 컨테이너에서 널리 사용될까? 도커 컨테이너 내부에 있는 설정 파일을 사용하는 것은 약간 까다롭다. 설정 파일을 컨테이너 이미지 안에 포함하거나 파일이 포함돼 있는 볼륨을 컨테이너에 마운트해야 하기 때문이다. 설정 데이터를 저장하는 쿠버네티스 리소스를 컨피그맵(ConfigMap) 이라고 한다. 컨테이너에 명령줄 인수 전달 각 컨테이너를 위한 사용자 정의 환경변수 지정 특수한 유형의 볼륨을 통해 설정 파일을 컨테이너에 마운트 자격증명, 개인 암호화 키, 보안을 유지해야 하는 .. Devops/Kubernetes 2023. 6. 19. Kubernetes 인 액션 3장 파드: 쿠버네티스에서 컨테이너 실행 다루는 내용 파드의 생성, 실행, 정지 파드와 다른 리소스를 레이블로 조직화하기 특정 레이블을 가진 모든 파드에서 작업 수행 네임스페이스를 사용해 파드를 겹치지 않는 그룹으로 나누기 특정한 형식을 가진 워커 노드에 파드 배치 3. 1 파드 소개 파드의 핵심 사항은 파드가 여러 컨테이너를 가지고 있을 경우에, 모든 컨테이너는 항상 하나의 워커 노드에서 실행되며 여러 워커 노드에 걸쳐 실행되지 않는다. 3.1.1 파드가 필요한 이유 여러 프로세스를 실행하는 단일 컨테이너보다 다중 컨테이너가 나은 이유 IPC 혹은 로컬 파일을 통해 통신하는 여러 프로세스로 구성돼, 같은 노드에서 실행해야 하는 애플리케이션을 상상해보자.쿠버네티스에서 프로세스를 항상 컨테이너에서 실행시키고, 이 각 컨테이너는 격리된 머신과 비슷.. Devops/Kubernetes 2023. 4. 9. Kubernetes IBM - Sai Vennam '쿠버네티스란?' Kubernetes Master Cluster - API-Server Worker Node - kubelet - Container - Pod yaml kind: (Pod, Deployment, Service, ConfigMap, ReplicaSet) image: (Docker Hub, AWS ECR . . . PATH) labels: key: value ex) kind: Pod image: 2044smile/hello-node labels: a: f 사용자는 kubectl 명령을 이용하여 yaml(명세가 적힌 파일)을 생성하게 됩니다. kubectl -> API-Server -> Worker Node 안에 명세에 적힌 내용을 토대로 오브젝트를 생성합니다. nodeSelector를 이용하여 원하는 노드에 .. Devops/Kubernetes 2020. 5. 20. Kubernetes Django Tutorial (GKE) - 2 안녕하세요. 어제에 이어 Kubernetes 실습환경을 위해 GKE를 생성해보겠습니다. GKE란 AWS의 EKS와 비슷한 서비스입니다. 정확히는 관리형 Kubernetes 서비스입니다. Kubernetes의 모든 부분이 관리형으로 제공되는 것은 아니고 마스터 노드만 관리형으로 제공됩니다. 그 외에 로깅, 빌드, 권한 관리를 지원하며, 클러스터 노드들은 GCE(Google Compute Engine, EC2) 를 사용합니다. 1. Set up GKE 1-1. Create a GKE cluster gcloud container clusters create polls \ --scopes "https://www.googleapis.com/auth/userinfo.email","cloud-platform" \ -.. Devops/Kubernetes 2020. 5. 12. Kubernetes Django Tutorial (Cloud SQL, Storage) - 1 안녕하세요. AWS 프리티어가 끝나면서 Kubernetes를 돌릴만한 곳이 필요했고, Local에서 Virtual Box나 minikube를 설치하여 실습을 해보려고 하였으나 메모리부족으로 설치하지못하고, GCP에 Kubernetes 튜토리얼을 발견하여 GCP를 이용하여 Kubernetes를 배포해보겠습니다. 오늘은 구글의 Running Django on Google Kubernetes Engine를 참고하면서 Cloud SQL(RDS)와 Storage(S3) 연동까지 해보겠습니다. 최종으로는 GCP를 통해서 Kubernetes 배포까지 진행해보겠습니다. 해당 튜토리얼은 Django의 기초지식이 있다는 가정하에 진행되고 있습니다. Docker가 설치되어있어야 되며, Python 3.4 이상의 버전을 사용.. Devops/Kubernetes 2020. 5. 11. Kubernetes - 배경, 개념, 장점 안녕하세요. 월급날을 맞이하여 쿠버네티스 강의를 Flex 했습니다. 강의의 내용을 전부 인용하여 작성하게되면 문제가 될 수 있으니 일부내용 + 구글링한 내용으로 포스팅을 해보겠습니다. 가상화 기술 1. Linux(자원격리기술) 리눅스에는 자원들을 격리에서 프로세스들을 격리해서 사용할 수 있는 기술들이 존재하였습니다. 하지만 격리해서 사용할 수 있는 기술들은 사용하기에 어려워 대중적으로 사용되지 않고 있었다고 합니다. 현재는 이 기술을 바탕으로 Docker가 만들어졌죠 2. VM(가상화 기술) VMware로 게임을 하나 더 돌려보려다가 실패한 기억이 새록새록 떠오르네요. 하지만 VM 가상화 하기 위해서 무거운 OS를 띄워야 되기 때문에 성능이 저하되고, 간단한 서비스를 하나 올릴려고해도 이보다 더 큰 OS.. Devops/Kubernetes 2020. 4. 23. 이전 1 다음 💲 추천 글