kubectl을 설치했지만 kubectl 로 명령을 칠 때에 자동완성이 되지 않아 답답한 일이 정말 많다.예를 들어, kubectl get deployment 를 치려고 하면 kubectl get deplo 까지만 치고 Tab 을 눌러서 자동완성을 시키고 싶을 때에 아
파드 (Pod) 의 환경변수에 MY_SQL 비밀번호 를 넣어야 할 때가 있었다. MY_SQL 비밀번호 는 기밀사항이므로 외부에 노출을 최소화하는 방법을 찾아보았고, Secret 을 사용하는 방안을 찾았다.이번 글에는 Secret 을 작성하고 적용하는 방법을 공유하려 한
아래의 그림과 같이 Ingress 가 정상 동작하지만 계속 Progressing 인 상태가 지속되는 현상이 발생했다.아래의 그림과 같이 현재 내 프로젝트 내 Ingress 의 status 는 아래와 같았다.그러나 argoCD 에서는 status.loadBalancer.
argoCD 를 설치하고 argoCD 의 사이트에 로그인하는 방법을 공유하려 한다.해당 실습은 argoCD 공식 홈페이지(https://argo-cd.readthedocs.io/en/stable/getting_started/기본적으로 k8s 가 설치되어 있어야
개요 argoCD 를 통해 쿠버네티스 에 CI / CD 를 비교적 손쉽게 적용할 수 있었다. 어떤 방식으로 CI / CD 가 이루어질 수 있는 지
리눅스 20.04 이상 기준에서 kubeadm 을 설치하는 방법입니다.2대의 노트북을 활용하여 마스터 노드와 워커 노드를 구성하였습니다.인프라 구성입니다.최소 요구사항메모리 : 2 기가 이상CPU : 2 이상머신 간에 네트워크로 연결되어 있어야 합니다.인터넷 연결이 되
Kubernetes 에서 Ingress 리소스를 추가하려 했는데 다음과 같이 에러가 발생했다.리소스 추가 요청결과:그래서 원인을 찾아보았다.아래와 같이 검증하는 리소스를 제거해줌으로써 해결하였다.kubectl delete -A ValidatingWebhookConfig
나는 단일 노드로 쿠버네티스를 구성하고 있었으며 Volume 은 hostPath PV 을 사용하고 있었다. 그러다 분산 로드밸런싱을 위해 노드 하나를 새로 추가하였는데 문제가 발생했다. 새로운 노드에서 기존의 노드의hostPath PV 를 읽지 못하는 현상이 생겼다.
Ingress 를 통한 서비스가 동작하지 않을 때에 나는 아래와 같이 리소스들을 점검한다.내가 어떤 식으로 점검하는 지 기록하려 한다.문제가 있다고 의심이 되는 리소스에 대해서 우선적으로 점검한다.외부로부터 트래픽이 오는 지 확인한다.1\. ingress-nginx-c
나는 쿠버네티스로 On-Premise 서버를 운용하고 있다. 내가 구성한 쿠버네티스 서버의 구성을 공유하고자 한다.우선 사용자 가 Ingress Contoller 를 통해 접속한다. (만약 http 로 접속하였다면 https 로 다시 리다이렉트를 진행한다.)Ingres
kubelet 이 active 상태가 되지 않고 멈추는 현상kebelet 은 시작 시 아래의 Config 를 Load 한다.그런데 이중 /var/lib/kubelet/config.yaml 가 존재하지 않아 Error 가 났다.https://github.com/
K8S 의 로그 시스템을 찾던 도중 Loki 를 알게 되었습니다. ELK 와 같은 다른 로그 시스템들도 있었지만 Loki 가 학습곡선이 낮고 ELK 등과 비교해 초기 관리요소가 적었으며 Loki 가 고가용성 수평확장에 용이하도록 설계되어 k8s 와 잘 맞아떨어지기에
나는 Pod 별 CPU 량을 확인하려 했다. 그래서 Metric server 를 설치하고 CPU 사용량을 확인하려 했으나 실패했다.이 문제와 관련하여 찾아본 결과, metrics-server 의 pod 실행 옵션에 \--kubelet-insecure-tls 를 추가하면
나는 내 프로젝트에서 쿠버네티스의 리소스를 gitops 로 관리하고 있다. gitops 로 관리할 경우 secrets 이 외부에 유출될 수 있기에 이와 관련하여 방법을 찾아보다가 sealed-secrets 을 알게 되어 적용해보았다.관련 개념들은 커피고래님의 블로그 에
나는 StatefulSet 을 필요로 할 일이 생겼다. 두개의 노드에 각각 하나의 파드가 생성되어야 하고 각각의 파드는 현재 실행되고 있는 파드의 노드의 볼륨을 사용하도록 해야되었다. 그래서 결국 테스트를 완료하였고 이를 실습 위주로 공유하려 한다.( 개념에 대해서도
워커노드에 접속해서 sudo crictl ps 을 했더니 아래와 같이 에러가 발생했다.원인은 crictl 이 unix:///var/run/dockershim.sock 를 찾다가 못 찾아서 에러가 발생했던 것이다.나는 cri 를 CRI 를 containered 를 사용
opensearch 실행 시 아래와 같은 에러 발생하여 정상 동작하지 않음가상 메모리 설정이 너무 낮게 잡혀있어 동작되지 않음가상 메모리 증가레퍼런스: https://m.blog.naver.com/itso-/222115351087
- 이슈 오늘 쿠버네티스 명령을 하려고 하니까 아래와 같이 에러가 발생했다. kube-apiserver 은 아래와 같이 종료되어있었고 확인해보니 아래의 로그로 짐작해볼 때에 인증서가 만료되어 kube-apiserver 가 정상동작하지 않고 죽었음을 알 수 있었다. - 해결 - 후기 인증서를 갱신해줬음에도 불구하고 api-server 가 계속 예전 인...
ArgoCD RBAC 적용건
Vault 서버에서 시크릿을 가져와 K8S 시크릿으로 변환하는 방법에 대해 공유합니다.