kubernetes는 다양한 API version을 제공하고 있고 Upgrade 시에 이로 인한 지원되지 않는다는 에러를 받게되는 경우가 종종 있다. 이를 좀더 쉽게 접근하기 위해 다양한 도구들이 제공되고 있다. 이중 kubet(No Trouble)에 대한 사용법을 간단히 정리하고자 한다. 먼저 help message는 다음과 같다. help message에서 볼수 있듯이 manifest 파일 및 helm chart 그리고 cluster 자체에 대한 검사도 가능하다. jacob@laptop:~ $ ./kubent -h Usage of ./kubent: -A, --additional-annotation strings additional annotations that should be checked to d..
VPA(Vertical Pod Autoscaler)란 안정성과 비용효율성간의 관계로 인해 request 혹은 limits를 낮게 혹은 너무 높게 설정하게 될수 있다. 이러한 상황에서는 OOM(out of memory) 및 불필요한 자원 과소비가 이루어지게 된다. Pod들의 up/down scale을 지원하는 VPA는 이런 이슈를 대응할 수 있는 방안이 된다. pod내 container들에 대한 최신 resource limits 과 requests를 설정에서 자유롭게 해준다. 자동으로 requests를 사용량에 기반해 설정하고 이로인해 resource 양에 적절한 노드에 적절한 스케쥴링이 이루어지게 된다. 또한 limits과 requests에 사이에 비율도 관리한다. https://github.com/ku..
Containerd를 Kubernetes runtime으로 사용하는 근래의 환경에서 docker insecure 설정과 같은 설정을 해야할 상황이 있어 이를 기술해보았다. 아래 링크를 기반으로 /etc/containerd/certs.d/ 하위에 디렉토리 및 hosts.toml을 생성하여 설정을 진행한다. https://github.com/containerd/containerd/blob/main/docs/cri/config.md#registry-configuration 테스트 환경 nexus 를 docker-compose로 동작 (5000 포트로 http 연결만 가능하도록) nginx image를 nexus상에 push 하여 pull 가능한 이미지 구성 아래와 같이 http로 연결을 시도하면 "http: ..
kubernetes에 cert-manager/ingress-nginx를 설치하고 이를 활용하여 ingress에 annotation을 추가하여 cert-manager로 부터 인증서를 가져와 secret으로 저장하고 이를 실 서비스에 사용하는 방법을 알아보자. cert-manager 설치 다음 helm 명령을 통해 cert-manager를 설치 한다. jacob@laptop:~ $ helm install cert-manager jetstack/cert-manager \ -n cert-manager --create-namespace \ --version v1.11.0 \ --set installCRDs=true ingress-nginx 의 letsencrypt issuer를 이용한 cert 관리 ingress..

fluent-bit pipeline 중 azure (log anayltics workspace) 혹은 azure_blob 에 log를 저장하는 방법을 알아보자. Log Analytics workspace azure Log Analytics workspace에 log를 저장하기 위해서는 fluent-bit의 pipeline에 다음 정보가 존재해야 한다. log analysis workspace ID sharedkey 위 정보는 다음과 같은 명령어로 확인이 가능하다. WORKSPACEID=$(az monitor log-analytics workspace show -g $LogAppRG -n $LogAppName --query customerId -o tsv) SHAREDKEY=$(az monitor log-..
Introduce Kaniko kubernetes cluster 혹은 container 내에서 Dockerfile을 사용하여 container image를 만드는 도구이다. 다음과 같은 특징을 가진다. Docker daemon을 요구하지 않는다. google 에서 개발했지만 google에 종속적이지 않다. (실제 google에 의해 관리되어지지 않는다는 github 메인페이지 문구가 있다.) windows container에 대한 빌드는 제공하지 않는다. 실제 build 및 push 과정을 kaniko executor를 사용하여 pod상에서 진행시킬수 있다. 아래는 push 없이 이미지를 만드는 과정과 Azure Container Registry에 push하는 과정을 기술하였다. How it works ..
배경 기본적으로 container를 가볍고 안전하게 만들기 위해 container에 불필요한 binary를 제거하고 container image를 생성하고 운영한다. 허나 실제 운영하다보면 pod가 통신이 안되거나 디버깅을 해야하는 경우가 발생되면 관련된 command를 쓸수 없어 디버깅에 어려움이 생기는 경우가 다수있다. 기본적으로 사용하는 명령어를 설치를 해서 쓸수도 있지만 대다수 container들은 도구 설치에 대한 권한을 허용하지 않기에 이또한 어려움이 있다. kubectl debug 앞선 배경상의 문제를 kubectl debug 명령을 사용하여 debugging 가능한 환경을 만들수 있다. https://kubernetes.io/ko/docs/tasks/debug-application-clus..
Why Sealed-Secrets is needed Kubernetes 환경에서 대체로 Secret을 제외한 모든 설정정보를 Git으로 관리한다. Secret의 경우 사실 비밀정보이고 노출되면 문제가 되기에 이를 따로 보관하거나 별도의 secret management 서비스를 사용하는등의 고민이 되기 마련이다. SealedSecrets Sealed-Secrets는 앞선 어려움을 보안적으로 취약하지 않은 상태의 암호화된 Secret으로 Git 저장소에 저장되게 해주어 GitOps 환경상에 Secret 보관에 어려움을 해소시켜준다. 테스트 하며 확인한 특징을 정리해보자면, Kubernetes secret의 비밀정보를 암호화할 수 있다. 암호화된 비밀정보가 포함된 상태로 Git 저장소에 저장할수 있다. (이는..
- Total
- Today
- Yesterday
- macvlan
- socket
- crashloopbackoff
- Helm Chart
- openstack backup
- jenkins
- Terraform
- nginx-ingress
- openstacksdk
- OpenStack
- kata container
- metallb
- mattermost
- ansible
- wsl2
- kubernetes
- DevSecOps
- K3S
- Jenkinsfile
- ceph
- open policy agent
- vmware openstack
- aquasecurity
- boundary ssh
- kubernetes install
- azure policy
- minio
- hashicorp boundary
- GateKeeper
- minikube
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |