
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 ..
요즘 bash로 몇몇 테스트 환경 구축을 위한 script을 만들고 있어 이중 배열형태로 데이터를 저장하고 이를 쉽게 사용하는 방법을 간단히 정리하고자 한다. 테스트 환경을 자주 만들고 지워야하는 입장에서 간단히 지울 resource group을 찾아 지우는 script이다. #!/bin/bash GROUPLIST=$(az group list --query '[].name' -o tsv) num=0; for rg in $(az group list --query '[].name' -o tsv); do num=$(expr $num + 1); echo $num $rg ; declare "rg_$num"=$rg ; done DELRGNUM=0 re='^[0-9]+$' inputnum() { echo -n "##..

Ubuntu에서 사용되는 netplan은 다음과 같은 ring buffer 설정을 고정하는 기능을 제공하지 않는다. ETHTOOL_OPTS="-G ${DEVICE} rx 1024 ; -G {$DEVICE} tx 1024"그러면 ringbuffer size 변경과 같이 재부팅후에도 적용이 되어야하는 설정의 적용은 어떻게 하는지 알아보자. 먼저 github에 보고된 내용이다. https://github.com/systemd/systemd/issues/13601 갑자기 systemd가 나온다. 이유는 netplan은 기본적으로 아래와 같이 상단에서 systemd-networkd (혹은 NetworkManager)에서 실행될수 있는 backend file을 생성하게 된다. https://netplan.io/ 즉..
nftables 현대적인 Linux kernel packet 분류 프레임워크이다. 고전인 xtables( {ip,ip6,arp,eb}_tables ) 환경을 대신하여 새로운 코드가 사용되어진다. 즉, 리눅스 커널에서 새로운 패킷 필터링 / 방화벽 엔진으로 현재 iptables, ip6tables, arptables, ebtables 로 나뉘어서 사용되던 것을 nftables로 교체 및 통합 한다. https://wiki.nftables.org/wiki-nftables/index.php/What_is_nftables%3F nftables 동작을 위한 기반사항 Linux kernel since 3.13 이상 libmnl (minimalistic Netlink library) libnftnl (저수준 netl..
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..

helm chart를 만들때 page 기능이 필요해 이를 사용하는 방법에 대하여 정리해보고자 한다. 여기서 사용하려는 버전은 self-managed 즉 private 환경에서 사용하는 방법이라 보면된다. Have to know 먼저 알아두어야할 것은 다음 3가지 방식으로 사용이 가능하다는것이다. Pages daemom이 GitLab과 동일 서버에서 동작되며 secondary IP를 사용하여 Pages에 접근이 되는 환경 Pages daemon이 GitLab과 다른 서버에서 동작 Pages daemon이 GitLab과 동일 서버에서 동작되고 IP는 같으나 다른 port로 서비스 된다. (이 환경은 Load Balancer를 이용한 proxy환경이 필요하다.) 참고 : https://docs.gitlab.c..
- Total
- 134,319
- Today
- 5
- Yesterday
- 64
- boundary ssh
- dnssec
- minikube
- galera
- jenkins
- kubernetes
- ulimit
- ceph
- minio
- wsl2
- nginx-ingress
- hashicorp boundary
- K3S
- ConEmu
- DevSecOps
- kubernetes install
- ansible
- openstack backup
- elasticsearch
- Terraform
- Jenkinsfile
- crashloopbackoff
- metallb
- macvlan
- vmware openstack
- Helm Chart
- OpenStack
- socket
- openstacksdk
- mattermost