본문 바로가기

k8s27

argo-workflow argo-workflow argo 프로젝트의 workflow 관리 도구 https://argoproj.github.io/argo-workflows/ # argo workflow 배포 퀵스타트 https://argoproj.github.io/argo-workflows/quick-start/ 최신 릴리즈 및 배포 커맨드 https://github.com/argoproj/argo-workflows/releases/latest -> 릴리즈마다 매니페스트 경로가 다르니 릴리즈 페이지에서 배포 커맨드 확인 kubectl create namespace argo kubectl apply -n argo -f https://github.com/argoproj/argo-workflows/releases/download/v3.. 2023. 3. 10.
secret 으로 값 전달 secret 으로 값 전달 https://kubernetes.io/ko/docs/concepts/configuration/secret/ # secret 을 파드에 파일로 사용 apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: username: YWRtaW4= password: MWYyZDFlMmU2N2Rm --- apiVersion: v1 kind: Pod metadata: name: secret-volume-pod spec: containers: - name: mycontainer image: redis volumeMounts: - name: foo mountPath: "/etc/foo" readOnly: true volum.. 2023. 3. 9.
configmap 으로 값 전달 configmap 으로 값 전달 https://kubernetes.io/ko/docs/concepts/configuration/configmap/ # configmap 생성하여 파드의 특정 경로에 마운트 apiVersion: v1 kind: ConfigMap metadata: name: cm-nginx data: default.conf: |+ server { listen 80; listen [::]:80; server_name localhost; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html;.. 2023. 3. 9.
argocd 배포 환경 구성 argocd 배포 환경 구성 argocd 는 Kubernetes 용 선언적 GitOps 지속적 배포 도구 -> git 등의 레포를 자동/수동으로 sync 하여 kubernetes 리소스 배포 공식 사이트 https://argo-cd.readthedocs.io/en/stable/ 공식 가이드 https://github.com/argoproj/argo-cd/blob/master/docs/getting_started.md helm chart github https://github.com/argoproj/argo-helm # 배포 kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/.. 2023. 3. 9.
istio envoy access log istio envoy access log # istio 를 설치한 경우 -> istio-system 네임스페이스에 Telemetry 를 생성하는 경우 전역적으로 envoy 액세스 로그가 활성화됨 -> 개별 네임스페이스에 생성하면 해당 네임스페이스만 envoy 액세스 로그가 활성화됨 https://istio.io/latest/docs/tasks/observability/logs/access-log/ vim istio-access-log.yaml apiVersion: telemetry.istio.io/v1alpha1 kind: Telemetry metadata: name: mesh-default namespace: istio-system spec: accessLogging: - providers: - nam.. 2023. 3. 8.
istio 배포 istio 배포 공식 가이드 https://istio.io/latest/docs/setup/getting-started/ # 설치 ## istioctl 로 설치 https://istio.io/latest/docs/setup/install/istioctl/ curl -L https://istio.io/downloadIstio | sh - cd istio-* export PATH=$PWD/bin:$PATH istioctl install --set profile=demo -y 배포된 istio 관련 리소스 확인 kubectl get all -n istio-system 설치된 istio profile 확인 https://istio.io/latest/docs/setup/additional-setup/config-.. 2023. 3. 8.
argo-rollouts argo-rollouts 공식 가이드 https://argoproj.github.io/argo-rollouts/ 공식 깃허브 https://github.com/argoproj/argo-rollouts 퀵스타트 가이드 https://github.com/argoproj/argo-rollouts/blob/master/docs/getting-started.md helm chart github https://github.com/argoproj/argo-helm # 배포 kubectl create namespace argo-rollouts kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/downloa.. 2023. 3. 7.
k8s cert-manager k8s cert-manager https://cert-manager.io/docs/tutorials/getting-started-with-cert-manager-on-google-kubernetes-engine-using-lets-encrypt-for-ingress-ssl/ # 도메인 레코드 세팅 example.com 도메인의 레코드를 gcp lb 의 퍼블릭 아이피(34.111.226.147)로 세팅 # ingress 생성 vim ingress-http.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: istio-ingressgateway namespace: istio-system spec: rules: - http: paths: -.. 2023. 3. 7.
k8s 외부 etcd 클러스터 구성 k8s 외부 etcd 클러스터 구성 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/ # k8s HA 구성의 두 가지 옵션 ## stacked etcd -> etcd 가 포함된 마스터노드를 다중으로 구성하여 HA 구성 구성이 간편하지만 마스터노드의 수가 늘어남에 따라 etcd 포드도 늘어나는 특징 마스터노드에 etcd 가 포함되어 있기 때문에 마스터노드에 부하 발생 시 etcd 에도 영향 ## external etcd -> 마스터노드 외부에 별도의 etcd 를 구성하여 HA 구성 마스터노드 HA 구성 + etcd HA 구성으로 더 많은 수의 노드가 필요함 마스터노드와 etcd 가 .. 2023. 3. 7.