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 ..
promql로 뽑아내는 결과중 label 값을 변경하는 다음 label_replace, label_join에 대해 예제와 함께 간단한 사용법을 알아보자. label_replace label_replace는 실제 replace가 아닌 add 이다. https://stackoverflow.com/questions/54235797/how-to-rename-label-within-a-metric-in-prometheus 다음과 같은 promql query로 label_replace 사용이 가능하다. label_replace(rate(demo_api_request_duration_seconds_count[5m]), "newstatus", "$1", "status", "(^2.*)")실제 동작은 status lab..
배경 기본적으로 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 저장소에 저장할수 있다. (이는..
다른 cluster에 존재하는 loki에 loki와 다른 cluster에서 동작되는 container에 sidecar 형태의 promtail을 동작시켜 log를 전달 및 간단히 분석할수 있는 label 설정등에 대하여 알아보도록 하자. 먼저 환경은 다음과 같다. 가칭 loki cluster grafana loki 가칭 nginx-ingress nginx-ingress 먼저 grafana는 접근이 되고 있고 loki도 외부로 연결이 가능하도록 ingress로 객체를 만들어서 연결을 시도해본다. (꼭 ingress로 만들 필요는 없고 kubernetes loadbalancer 타입과 같은 외부로 노출시킬수 있는 환경이면 된다.) loki access on external cluster (가칭 loki clu..
폐쇄망환경에 구성된 kubernetes 상에서 http(s)_proxy 설정을 하는 방법에 대하여 간단히 알아보자. 사전에 proxy 서버를 구성하고 해당 주소는 다음과 같다고 가정하고 다음 설정을 진행한다. proxy 서버 주소 : https://192.168.1.1:3128 사용하려는 pod 혹은 deployment 에 다음 항목을 env 위치에 추가한다. (deployment나 replicaset에 추가해주는것이 향후 재사용을 위해서도 좋다.) spec: template: spec: containers: ... envs: - name: https_proxy value: http://192.168.1.1:3128 - name: http_proxy value: http://192.168.1.1:3128..
nginx-ingress를 사용하면서 ingress에 nginx 설정을 좀더 추가하고 싶고 때에 따라서는 nginx-ingress에 글로벌하게 설정이 필요한 경우도 있다. 하여 이를 설정하는 방법에 대하여 알아보도록 하겠다. 여기서는 log_format을 custom한 설정추가의 하나의 예로 기술하였다. 기본적인 custom 설정 추가 먼저 기본적으로 custom 설정을 추가하기 위한 기본 작업을 알아보면, nginx-ingress deployment를 확인해보면 다음과 같은 container 실행시 추가될 argument가 정의되어 있다. ... spec: containers: - args: - /nginx-ingress-controller - --election-id=ingress-controller..
- Total
- Today
- Yesterday
- ceph
- kata container
- openstacksdk
- wsl2
- kubernetes install
- kubernetes
- open policy agent
- boundary ssh
- Jenkinsfile
- K3S
- GateKeeper
- crashloopbackoff
- aquasecurity
- ansible
- minio
- minikube
- vmware openstack
- Terraform
- OpenStack
- azure policy
- DevSecOps
- mattermost
- macvlan
- nginx-ingress
- hashicorp boundary
- Helm Chart
- jenkins
- openstack backup
- metallb
- socket
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |