7-2. Kubernetes IngressController SSL/TLS 보안 적용
·
Kubernetes
이전 포스팅에서 말했듯 여러개의 자원들에 공통적으로 보안 적용이 필요할 때 ingress에 tls를 적용하는 것이 관리 측면에서 유리하게 작용힌다. 보안 키 생성openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt tls타입의 시크릿 생성kubectl create secret tls tls-secret --key tls.key --cert tls.crt Ingress에 Secret 적용apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: test-ingress annotations: nginx.ingress.kubernetes.io/rewrite-ta..
7-1. Kubernetes Ingress
·
Kubernetes
기존 processingress를 설치하지 않았을 때의 프로세스이다. 서비스를 묶어서 관리하지 않기 떄문에 서비스마다 tls 보안 연결이나라우팅을 구현할 때 각각의 서비스에 해당 설정들을 해야 한다. 따라서 ingress를 통해 하나의 규칙을 만들어 관리하는 것이 애플리케이션을 관리하는데 효과적으로 작용할 것이다. Ingress를 적용한 process해당 프로레스는 test1 서비스를 요청할 때의 프로세스이다.load Balancer를 통해 node에 전송한다.ingress controller에서 요청받은 정보를 바탕으로 해당 ingress 규칙을 찾아 서비스로 보내준다,Deployment 생성test1-deployment, test2-deployment 생성 apiVersion: apps/v1kind:..
6. Kubernetes Secret
·
Kubernetes
민감한 정보를 저장하기 위한 오브젝트이다.  Generic 타입의 secretsecret  문자열로 생성# kubectl create secret generic --from-literal kubectl create secret generic my-password --from-literal password=1234 secret  파일로 생성# 패스워드(pw1, pw2) 정보 생성echo mypassword1 > pw1 && echo mypassword2 > # kubectl create secret generic --from-file kubectl create secret generic my-passwords --from-file pw1 --from-file pw2 secret  조회kubectl ge..
5. Kubernetes Configmap
·
Kubernetes
설정 값을 따로 정리하여 파일 형태로 저장하는 것이 관리 및 확장성에 유리하게 작용한다. 쿠버네티스에서는 configMap이라는 오브젝트를 제공하여 보다 쉽게 로그 및 DB 정보 등 여러 정보들을 쉽게 관리 및 연동이 가능하다. configmap 문자열로 생성# configmap 생성# kubectl create configmap kubectl create configmap start-k8s --from-literal k8s=kubernetes \>--from-literal container=docker# configmap 조회 kubectl get cm# configmap 상세 조회kubectl describe configmap log-level-configmap configmap Pod에  환경변수..
4. Kubernetes Service
·
Kubernetes
외부에서 포드에 접근을 돕기 위한 오브젝트이다.한개 이상의 포드에 접근할 수 있도록 고유한 도메인 이름 부여포드 접근 시, 로드벨런서 기능 수행클라우드 플랫폼의 로드 밸런서, 클러스터 노드의 포트 등 포드 외부 노출서비스를 연결하기 위한 Deployment 생성# deployment-hostname.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: example-deploymentspec: replicas: 3 selector: matchLabels: app: webserver template: metadata: name: example-deployment-pod labels: app: webserv..
3. Kubernetes Deployment
·
Kubernetes
Deploymet는 Replicaset의 상위 개념이다. 핵심은 레플리카와 동일하게 포드의 개수를 유지시켜준다는 것이다. 같은 개념인데도 불구하고 Deployment를 사용하는 이유은 컨테이너 애플리케이션의 배포 및 관리와 밀접한 관련이 있다.  애플리케이션을 운영하다보면 반드시 업데이트를 해야하는 상황이 온다. docker 이미지에서도 태그에 버전을 남기듯 deployment는 변경 사항을 저장하는 revision을 남겨 롤백을 가능하게 해준다.  Yaml파일 생성apiVersion: apps/v1kind: Deploymentmetadata: name: example-deploymentspec: replicas: 3 selector: matchLabels: app: nginx-lab..
BE전문가 프로젝트
BE전문가 프로젝트