[Kubernetes] TLS/SSL Termination with Ingress
DevOps/Kubernetes2022. 6. 1. 15:57[Kubernetes] TLS/SSL Termination with Ingress

🚀 TLS/SSL Termination란 무엇인가 ? SSL 표준화 → TLS SSL은 취약점이 발견되어 현재 사용되지 않는다. 첫번째 이미지가 종단간 암호화 방식이며 두번째 이미지가 TLS/SSL Termination 방식이다. 종단간 암호화 방식은 클라이언트부터 서버까지 모든 통신 구간에 암호화를 사용하는 방식을 말한다. TLS/SSL Termination 방식은Loadblancer (=Proxy)가 존재하며 노출되어 있다. 클라이언트와 LB 사이에는 HTTPS(암호화를 제공)를 사용하며 LB와 실제 서비스를 제공하는 서버 사이에는 HTTP(암호화를 제공하지 않음, 평문 통신)를 사용한다. 클라이언트부터 LB까지만 암호화하며 종단간 암호화가 아니다. 그렇다면 안전해보이지 않는 이런 구성을 왜 사용하는..

[Kubernetes]  Nginx HTTPs 서버 구성하기
DevOps/Kubernetes2022. 6. 1. 15:55[Kubernetes] Nginx HTTPs 서버 구성하기

✔️ Nginx HTTPs 서버 구성 nginx 관련 파일은 다음과 같다. vagrant@k8s-node1  ~/configure/nginx-https  kubectl run nginx --image nginx pod/nginx created vagrant@k8s-node1  ~/configure/nginx-https  kubectl exec -it nginx -- bash root@nginx:/# cd /usr/share/nginx/html/ root@nginx:/usr/share/nginx/html# ls 50x.html index.html root@nginx:/usr/share/nginx/html# cd /etc/nginx root@nginx:/etc/nginx# ls conf.d fastc..

[Kubernetes] Deployments (디플로이먼트)
DevOps/Kubernetes2022. 5. 29. 22:19[Kubernetes] Deployments (디플로이먼트)

✔️ Deployment 디플로이먼트 | Kubernetes Deployment는 ReplicaSet의 상위 오브젝트로 Deployment를 생성하면 해당 Deployment에 대응하는 ReplicaSet도 함께 생성된다. 따라서 Deployment를 사용하면 Pod, ReplicaSet을 직접 생성할 필요가 없다. ✔️ Deployment 사용 이유 ? 그렇다면 쿠버네티스는 ReplicaSet이 아닌 상위 개념인 Deployment를 사용해 간접적으로 ReplicaSet을 생성하는 것일까 ? Deployment를 사용하는 핵심 이유는 어플리케이션의 업데이트와 배포를 더욱 편하게 만들기 위해서이다. Deployment는 이름처럼 컨테이너 어플리케이션을 배포하고 관리하는 역할을 담당한다. 예를 들어 어플리..

[Kubernetes] Deploy Strategy (배포 전략)
DevOps/Kubernetes2022. 5. 29. 22:09[Kubernetes] Deploy Strategy (배포 전략)

✔️ Six Strategies for Application Deployment Six Strategies for Application Deployment – The New Stack 쿠버네티스에서만 쓰는 전략이 아니며 모든 어플리케이션을 배포할 때 사용한다. 쿠버네티스의 Deployment는 다음 2가지 방식을 지원한다. Recreate : Version A is terminated then version B is rolled out. Ramped (also known as rolling-update or incremental): Version B is slowly rolled out and replacing version A. vagrant@k8s-node1  ~/deploy  kubectl ex..

[Kubernetes] ConfigMap & Secret ( + 환경변수)
DevOps/Kubernetes2022. 5. 29. 21:56[Kubernetes] ConfigMap & Secret ( + 환경변수)

✔️ 환경변수 vagrant@k8s-node1  ~  kubectl explain pods.spec.containers.env name : 환경변수의 이름 value : 환경변수의 값 myweb.yaml apiVersion: v1 kind: Pod metadata: name: myweb-env spec: containers: - name: myweb image: ghcr.io/c1t1d0s7/go-myweb:alpine env: - name: MESSAGE # 환경변수명 value: "Customized Hello World" vagrant@k8s-node1  ~/configure/env  kubectl create -f myweb.yaml pod/myweb-env created vagrant@k..

[Kubernetes] 동적 프로비저닝 (Dynamic Provisioning) ( + NFS 동적 프로비저닝)
DevOps/Kubernetes2022. 5. 29. 21:04[Kubernetes] 동적 프로비저닝 (Dynamic Provisioning) ( + NFS 동적 프로비저닝)

✔️ Dynamic Provisioning (동적 프로비저닝) 지금까지 PV를 사용하려면 미리 외부 스토리지를 준비해야만 했다. 예를 들어 AWS EBS를 PV로 사용하려면 EBS를 미리 생성한 뒤, 볼륨 ID를 YAML 파일에 직접 입력하는 방식으로 사용했다. 하지만 매번 이렇게 볼륨 스토리지를 직접 수동으로 생성하고 스토리지에 대한 접근 정보를 YAML 파일에 적는 것은 귀찮은 일이다. 이를 위해 쿠버네티스는 Dynamic Provisioning 기능을 제공한다. 다이나믹 프로비저닝은 PVC이 요구하는 조건과 일치하는 PV이 존재하지 않는다면 자동으로 PV와 외부 스토리지를 함께 프로비저닝하는 기능이다. 따라서 Dynamic Provisioning을 사용하면 EBS와 같은 외부 스토리지를 직접 미리 ..

image