Kubernetes | Tekton 배포 및 pipeline, trigger 사용방법

Tekton Tekton CI/CD 스터디를 위해서 환경 구축을 해보았다.결론은 사용측면에서는 jenkins나 gitAction이 쉽다. https://tekton.dev/docs/installation Tekton 배포 Tekton-Dashboard Dashbaord는 초기에 read-only로 배포되어있다. 설치전에 변경하던가 설치하고 수정한다. Dashboard ingress Tekton-triggers 배포 chrome 사설인증서 신뢰할수있는 인증서 등록 Ubuntu Desktop chrome에 추가. Tekton Simple Test demo 테스트를 해보자 Task 배포 Sample Pipeline Pipeline Run 에러처리 ClusterTasks 에러 https://tekton.dev/docs/pipelines/deprecations ClusterTask는 deprecated된 … Read more

kubernetes | istio

istio를 사용함에 있어서 자료를 찾다보면 오래된 버전의 자료들이 나오는 경우가 있어 정리한다. Istiod istio version 1.5부터 mixer, galley, pilot, citadel 컨트롤 플레인이 istiod로 통합되었다. istiod api조회 1.22 버전 기준으로 확인(삭제됨) 표시는 1.22버전에서 동작안하는듯. 라우팅 정보 종류 확인 방법 VirtualService / DestinationRule 등 Istio 리소스 전체 curl localhost:8080/debug/configz (삭제됨)Envoy에게 푸시된 Route 정보 (RDS) curl localhost:8080/debug/rdsz (삭제됨)Envoy에게 … Read more

Kubernetes | api-resources : networking.k8s.io

api-resources Kubernetes API서버가 인식하고 조작 할수 있는 리소스 https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.31 networking.k8s.io ingress에서 사용하는 apiVersion은 networking.k8s.io/v1이다. 이 api에서 사용하는 리소스 리스트는 다음과 같다. Explain kubectl explain 명령을 이용해서 구조를 탐색할 수 있다. CRD(CustomResourceDefinition) Kubernetes에서는 CRD를 이용해 커스텀 API를 추가 할 수 있다.

kubernetes | br_netfilter 활성이 필요한가?

그동안 kubeadm으로 kubernetes를 설치하면서 확인해야지 하고 넘겼던 br_netfilter활성이 필요한지에 대해서 찾아보았다. 쿠버네티스 1.29버전을 설치하는 것 까지는 설치 가이드를 보면 br_netfilter를 활성하라는 내용을 확인 할 수 있다. 내용 확인(본문 스크랩) Forwarding IPv4 and letting iptables see bridged trafficExecute the below mentioned instructions: Verify that the br_netfilter, overlay modules are loaded by running the following commands: Verify that the net.bridge.bridge-nf-call-iptables, net.bridge.bridge-nf-call-ip6tables, and net.ipv4.ip_forward system … Read more

kubernetes | user용 kubeconfig 생성

쿠버네티스 클러스터를 API를 이용해서 제어할때 모든 권한을 갖고있는 admin계정이아니고 별도의 계정을 제공하기 위한 방법. kubeconfig Create Service Account Create SA Token Create Role 권한은 필요한 것만 부여한다. Create RoleBinding Get Token Config 파일 작성 샘플

Kong | Vault 연동 테스트

Kong에서 JWT Plugin을 사용하여 토큰 인증 구성을 해두었다.DB less mode라 secret key를 yaml에 하드코딩 해야하는 부분이 있어,이 부분을 harshicorp의 Vault를 이용해보았다. Kong은 OpenSource를 사용하고 있어 vault plugin을 사용 할 수 없다.그래서 lua커스텀 플러그인을 구현해야한다. Vault UI, CLI 또는 HTTP API를 사용하여 토큰, 비밀번호, 인증서, 비밀을 보호하는 암호화 키 및 기타 민감한 데이터에 대한 액세스를 보호하고 … Read more

Django에서 OpenTelemetry를 이용해 Jaeger로 Trace 남기기

이전 포스팅에서 Log생성을 해보았다.이번에는 Tracing을 해본다. Trace Trace는 하나의 작업(요청)이 여러 시스템이나 컴포넌트를 거쳐 처리되는 과정을 기록하고 시각화한 것이다. 일반적인 로그와는 다르다. Jaeger와 OpenTelemetry Jaeger 오픈소스 분산 트레이싱 시스템 (시각화 도구) OpenTelemetry 코드에 트레이스를 심고 다양한 시스템으로 전송하는 표준 프레임워크 Django에 Trace를 심는 방법 Install OpenTelemetry SDK on Django {DjangoProject}/wsgi.py 수정 서버 시작 시 트레이스 … Read more

Django | Log 설정

기본적으로 Django에 로그는 기본 로거만 설정되어있어서 쿠버네티스에 배포하고 난 뒤 로그가 안보인다. Print로찍는게 보이기는 하긴한데 이건 사용용도에 맞지 않다. 적용 전 출력 예시 settings.py에 아래와 같은 형태로 추가한다. 적용 후 출력 예시

FluentBit | Creating a TAG in the INPUT Plugin

Data Pipeline Tail https://docs.fluentbit.io/manual/pipeline/inputs/tail The tail input plugin allows to monitor one or several text files. It has a similar behavior like tail -f shell command. The plugin reads every matched file in the Path pattern and for every new line found (separated by a newline character (\n) ), it generates a new record. Optionally … Read more