env 환경 변수 설정
# vi pod-nginx-env.yaml |
apiVersion: v1 kind: Pod metadata: name: pod-nginx spec: containers: - image: nginx:1.14 name: pod-container ports: - containerPort: 80 protocol: TCP env: - name: MYVAR value: "testvalue" |
# kubectl create -f pod-nginx-env.yaml pod/pod-nginx created |
# kubectl exec pod-nginx -it -- /bin/bash root@pod-nginx:/# env HOSTNAME=pod-nginx NJS_VERSION=1.14.2.0.2.6-1~stretch NGINX_VERSION=1.14.2-1~stretch KUBERNETES_PORT_443_TCP_PROTO=tcp KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1 MYVAR=testvalue <<<<<<<<<<<<<<<<<<< KUBERNETES_PORT=tcp://10.96.0.1:443 PWD=/ HOME=/root KUBERNETES_SERVICE_PORT_HTTPS=443 KUBERNETES_PORT_443_TCP_PORT=443 KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443 TERM=xterm SHLVL=1 KUBERNETES_SERVICE_PORT=443 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin KUBERNETES_SERVICE_HOST=10.96.0.1 _=/usr/bin/env |
pod 구성패턴의 종류
Sidecar,Adapter,Ambassador
Sidecar, Adapter, Ambassador는 모두 마이크로서비스 아키텍처에서 사용되는 다양한 패턴 및 컴포넌트입니다. 각각의 역할과 주요 기능은 다음과 같습니다:
Sidecar (사이드카):
역할: 사이드카는 주 서비스 컨테이너와 함께 배포되는 작은 독립적인 서비스 컨테이너입니다. 이것은 마이크로서비스와 함께 실행되며 주 서비스의 추가적인 기능 및 횡단 관심사(Cross-Cutting Concerns)를 처리합니다.
기능:
로깅 및 모니터링: 주 서비스의 로그를 수집하거나 모니터링 데이터를 수집합니다.
보안: 보안 관련 작업, 예를 들어 인증 및 권한 부여를 처리합니다.
트래픽 관리: 트래픽 라우팅, 부하 분산, 재시도 로직 등을 수행합니다.
코드 예외 처리: 주 서비스의 예외 상황을 처리하고 다양한 서비스와의 통합을 담당합니다.
Adapter (어댑터):
역할: 어댑터는 서로 다른 프로토콜, 형식 또는 인터페이스를 갖는 서비스 간의 통합을 담당합니다. 주로 외부 시스템과의 통신을 위해 사용됩니다.
기능:
데이터 변환: 서로 다른 데이터 형식을 변환하고 호환성을 확보합니다.
프로토콜 변환: 다른 통신 프로토콜로 요청 및 응답을 변환합니다.
오류 처리: 외부 시스템에서 오류 응답을 처리하고 주 서비스에 전달합니다.
보안 및 인증: 외부 시스템과의 안전한 통신을 제공하고 인증 및 권한 부여를 처리합니다.
Ambassador (앰배서더):
역할: 앰배서더는 서비스 간의 통신을 중개하고 관리하는 역할을 합니다. 주로 네트워크 레벨에서 작동하며, API 게이트웨이나 리버스 프록시와 유사한 역할을 합니다.
기능:
라우팅 및 부하 분산: 서비스 요청을 올바른 서비스로 라우팅하고 부하를 분산합니다.
보안 및 인증: 인증 및 보안 기능을 제공하여 안전한 통신을 보장합니다.
모니터링 및 로깅: 서비스 간의 트래픽을 모니터링하고 로그를 수집합니다.
API 관리: API 버전 관리, 접근 제어 및 정책 관리를 지원합니다.
이러한 컴포넌트와 패턴은 마이크로서비스 아키텍처에서 서비스 간 통신, 보안, 모니터링 및 관리를 효과적으로 처리하기 위해 사용됩니다. 각각의 역할과 기능은 시스템의 복잡성을 줄이고 서비스 간의 상호 작용을 관리하는 데 도움을 줍니다.
'Linux&Ubuntu > Docker&kuber' 카테고리의 다른 글
ReplicaSet 사용하기 (0) | 2023.09.08 |
---|---|
controller종류와 Replication controller (0) | 2023.09.07 |
pod에 Resource 할당하기 CPU/Memory requests Limit (0) | 2023.09.06 |
static pod 만들기 (0) | 2023.09.06 |
init container 란 (0) | 2023.09.06 |