일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gitops
- Litmus
- Kubernetes
- knative
- Model Serving
- Argo
- kubernetes operator
- CI/CD
- eBPF
- xdp
- Kopf
- Kubeflow
- CANARY
- operator
- Pulumi
- Kubernetes 인증
- keda
- 카오스 엔지니어링
- opentelemetry
- mlops
- serving
- MLflow
- blue/green
- 오퍼레이터
- opensearch
- Continuous Deployment
- argocd
- seldon core
- nginx ingress
- tekton
- Today
- Total
목록Kubernetes (136)
Kubernetes 이야기
Kubernetes 에는 Pod가 어느 노드에 생성되어야 하는지 결정할 수 있는 다양한 방법이 있다. 이 중 대표적으로 아래와 같은 방법이 있다. Assingning Pods to Nodes ( nodeSelector / Affinity and anti-affinity ) Tains와 Tolerations Kuber-scheduler 1. Assingning Pods to Nodes - nodeSelector apiVersion: v1 kind: Pod metadata: name: nginx labels: env: test spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent nodeSelector: disktype: ssd..
Kubernetes에서는 NotReady 노드, 노드 리소스 부족 ( Memory, Disk 등 ) 일 때 실행 중인 포드를 다른 노드로 추방할 수 있는 특징이 있다. 이 때 Kubernetes는 2가지 축출 메커니즘이 있다. kube-controller-manager : 주기적으로 모든 노드의 상태를 확인하고 노드가 일정 시간 이상 NotReady 일때 해당 노드의 모든 Pod를 축출한다. kubelet : 주기적으로 노드의 리소스를 확인하고 리소스가 부족한 경우 우선 순위에 따라 일부 포드를 축출한다. kube-controller-manager node failover되는 특정시간 (기본 5분 이상) 을 더 낮은 설정으로 하려는 경우 아래의 설정을 조정하였다. kube-controller-manage..
OWASP ZAP OWASP ZAP는 오픈 소스 웹 애플리케이션 보안 스캐너이다. 웹 애플리케이션이 개발되어 서비스 오픈전에 보통 검사하도록 되어 있다. 웹 애플리케이션 보안 스캐너 중 가장 일반적으로 많이 사용된 오픈소스 보안 프로젝트 프로젝트 중 하나이다. 이러한 OWASP ZAP 도 Container 로 배포되어 있다. ( owasp/zap2docker-stable ) WEB 환경에서 실행 아래와 같이 yaml 을 실행해 보자. apiVersion: apps/v1 kind: Deployment metadata: name: zap-deployment labels: app: zap-app spec: replicas: 1 selector: matchLabels: name: zap-application a..
Code-Server는 브라우저 통해 어디에서나 개발할 수 있는 환경을 제공할 수 있는 WEB-IDE 도구이다. 이 Code-server를 Kubernetes에 배포하여 테스트해 보자. 설치 설치는 아래와 같이 helm chart로 쉽게 설치가 가능하다. (code-server에서 사용할 수 있는 values는 https://coder.com/docs/code-server/latest/helm 을 참고한다.) # git clone https://github.com/coder/code-server # cd code-server # kubectl create ns code-server # helm upgrade --install code-server ci/helm-chart --set persistence...
개요 Container 테스트 시 Container Image Registry를 dockerhub로 많이 이용하지만, gchr.io 또한 많이 사용된다. 그런데 gchr.io registry는 이미지 push를 하게 되면 기본적으로 private repository로 설정된다. Kubernetes에서 Pod 또는 Deployment 등에서 image를 배포할때 Private Repository는 imagePullSecrets을 설정해야 한다. 절차는 아래와 같다. 1) Secret 생성 # kubectl create secret docker-registry regsecret -n test \ --docker-server=ghcr.io \ --docker-username=kmaster8 \ --docker..
형상관리 도구 git 이전에 SVN (subversion)을 많이 사용하던 시기가 있었다. 현재는 대부분의 프로젝트가 git 형상관리 툴을 사용하여 진행되고 있다. 보통 github나 bitbucket, gitlab (클라우드형) 를 많이 사용하지만, 사내에 구축형으로는 gitlab이나 gitea가 많이 사용되고 있다. gitlab을 Kubernetes에 사용해 보았는데 같이 설치되는 패키지가 많고 메모리 사용량이 많다. 그래서 git 기본기능에 충실하고 가벼운 gitea를 설치하여 보려고 한다. gitea를 사용하면 이슈관리와 위키등을 같이 관리할 수 있기 때문에 별도로 패키지를 설치하지 않아도 프로젝트를 진행하는데 아주 유용하게 사용할 수 있다. Gitea Gitea는 자체 호스팅 서비스를 할 수 있..