개발자 블로그를 위한 여섯걸음

개발자 블로그를 위한 여섯걸음

이제 인그레스를 통해 외부로 서비스가 나갈 수 있지만, 아직 뭔가 불편하죠. 왼쪽 상단을 보면 보이는 Not secure | https:// 라는 주소창이 상당히 위험한 사이트처럼 보이게합니다.

이때 쿠버네티스에서는 '자가 서명 인증서'를 발급받아 해당 도메인이 TLS 인증서를 통해 클라이언트와 서버 간 통신을 안전하게 연결할 수 있습니다.

개발자 블로그를 위한 다섯걸음
이제 metalLB가 설치되어 쿠버네티스의 어플리케이션들이 외부로 서비스 할 준비가 되었습니다. 이제 ingress를 설치하고 metalLB와 연결해 원하는 어플리케이션들이 외부에 서비스 할 수 있도록 한 발자국 더 나아가도록 하겠습니다. 먼저 ingress란 무엇인지 간략하게 설명하고 설치방법에 대해 다루겠습니다. 개발자 블로그를 위한 네걸음기본적인 서버 구성이 완료되었고 쿠버네티스 (Kubernates)가 준비가 되었지만, 아직도 블로그 구축을

cert-manager 란?

인증서는 인증업체의 인증서를 발급받아 사용하거나 로컬에서 openssl을 통해 키를 생성하는 등 여러 방법이 있지만, 그중 쿠버네티스에서 사용하기 좋은 cert-manager를 알려드리겠습니다.

  1. helm 레포 추가
helm repo add jetstack https://charts.jetstack.io
helm repo update
  1. cert-manager 설치
helm install cert-manager jetstack/cert-manager \
  -n cert-manager \
  --create-namespace \
  --set installCRDs=true
  1. issuer 생성

vi cluster-issuer.yaml

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: testemail@email.com
    privateKeySecretRef:
      name: letsencrypt-prod-key
    solvers:
    - http01:
        ingress:
          class: nginx

kubectl apply -f cluster-issuer.yaml

이때 email에 본인의 이메일을 넣어두시면 만료전에 메일이 옵니다

모두 완료했다면 cert-manager를 사용할 수 있게됩니다.


쿠버네티스에서는 secret 리소스를 통해 인증서를 생성/관리 할 수 있지만, 최대한 만들어진 것을 사용하여, 효과적으로 서비스를 운영하는 것에 초점을 맞췄습니다. 다음 포스팅에서 cert-manger를 통해 TLS 인증서를 자체적으로 발급받아 적용하는 방법에 대해 알아보겠습니다.

Read more

비동기 프로그래밍 : golang

비동기 프로그래밍 : golang

비동기 프로그래밍의 필요성과 Go 언어의 등장 * 최신 애플리케이션은 높은 처리량과 낮은 지연 시간을 요구하며, 이는 단일 스레드 방식으로는 달성하기 어렵습니다. * 비동기/동시성 프로그래밍이 필수적이 되었지만, 기존 언어에서는 복잡한 스레드 관리, 락(Lock) 메커니즘 등으로 인해 개발 난이도가 높았습니다. * Go 언어는 이러한 문제를 해결하기 위해 Goroutine과 Channel이라는 독창적이고 강력한 동시성 프리미티브를