
다른 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..
kubespary upgrade 과정중 아래와 같은 이슈로 인해 kubelet이 정상적으로 동작되지 않는 상황이 발생되어 kubespary upgrade가 실패되는 상황이 발생되었다. Oct 24 00:35:14 master001 kubelet[2553253]: I1024 00:35:14.327902 2553253 kubelet_node_status.go:74] "Successfully registered node" node="master001" Oct 24 00:35:14 master001 kubelet[2553253]: I1024 00:35:14.334714 2553253 kubelet_node_status.go:554] "Recording event message for node" node="mas..
Kubernetes 특정 node 들에 pod scheduling이 실패하는 현상이 발생되었다. 실제 pod의 event를 확인해보았을때 아래와 같이 taint 된 상태를 확인할 수 있었다. [root@service001 ~]# kubectl describe po/es-master-0 -n elastic-system ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 6m15s default-scheduler 0/3 nodes are available: 1 node(s) had volume node affinity conflict, 2 node(s) had taint {node.kube..
Containerd를 사용하는 K3s 환경에서 dockerhub가 아닌 registry 추가를 해야할 경우가 있다. 이러한 경우 다음과 같은 설정을 통해 추가가 가능하다. 참고 /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl 로 configm.toml 적용도 가능한데 실제 crictl info에서는 적용된 registry를 확인할수 없어 해당 기능은 사용을 권장하지 않는다. registy 설정 추가 K3s에서는 registry 추가를 다음과 같이 할수 있다. root@k3s-server:~# cat /etc/rancher/k3s/registries.yaml mirrors: "10.10.10.5:5000": endpoint: - "http://10...
Argo CD Notification 은 Argo CD Notifications는 지속적인 Argo CD applications들을 모니터하고 Application 상태의 중요변경사항을 사용자에게 알리는 유연한 방법을 제공한다. 출처 : https://argocd-notifications.readthedocs.io/en/stable/ 참고 아마 Argo CD 를 사용해본 사람이라면 대략 Application이 무엇인지는 알거라 판단된다. 그래도 간단히 알아보면, 다음과 특징이 있고 이를 기반으로 Argo CD의 sync 되어지는 Application을 관리한다. Application Custom Resource Definition(applications.argoproj.io) 이다. Argo CD에 의해..
ArgoCD에서 sync 되는 application은 CRD로 만들어지게 된다. 이말은 manifest로 관리가 가능하다는 뜻이다. manifest 자체를 git 저장소에 저장하는 방식을 하기전 ArgoCD 의 argocd-util을 사용한 cronjob으로 manifest를 먼저 만들어내는 backup 방식에 대하여 알아보자. Prerequites 간단하게 구현하기 위해 local storage를 이용하는 방식으로 만들어진 manifest를 host에 바로 저장하는 방식을 사용한다. local storage class 다음 링크에 local storage class 에 대해 설명이 나와있다. https://kubernetes.io/ko/docs/concepts/storage/storage-classes..
- Total
- Today
- Yesterday
- openstacksdk
- macvlan
- boundary ssh
- DevSecOps
- ansible
- socket
- azure policy
- Helm Chart
- aquasecurity
- Terraform
- OpenStack
- metallb
- kubernetes install
- minio
- minikube
- kubernetes
- hashicorp boundary
- Jenkinsfile
- ceph
- mattermost
- open policy agent
- crashloopbackoff
- kata container
- vmware openstack
- openstack backup
- wsl2
- GateKeeper
- nginx-ingress
- jenkins
- K3S
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |