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...
Windows 환경에서 가급적 docker-desktop의 docker 사용을 권장하지만 간혹 docker-desktop을 설치하여 사용이 어려운 경우 다음과 같은 방법을 사용하여 연결이 가능하다. 다만 해당 방법은 VM혹은 원격에서 접근 가능한 서버에 docker engine이 동작한다는 가정이 존재한다. remote docker engine 작업 docker engine이 동작될 서버에서 다음과 같은 설정을 추가한다. [root@rocky8-server ~]# cat /etc/docker/daemon.json { "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] }이후 아래와 같이 "-H fd://" 옵션을 execstart에서 제거한다...
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에 의해..
Mattermost로 메세지를 출력하려 할때 단순 text 형태로 출력되는 것이 가독성이 너무 떨어진다는 판단이 들어 AlertManager에서 Slack에 출력시키는 것처럼 할수 있는 방법이 없을까 조사하게 되었고 다음과 같은 방법을 찾게 되어 이에 대하여 기술하고자 한다. Mattermost Attachments 참고 기본적으로 markdown 으로 기본적인 표현들이 가능하다. 다만 다수의 라인이 하나의 메세지로 전달되어야할때 이를 표현할 방법이 없어 이를 attachments라는 formatting option을 사용하여 표현하고자 한다. 처음 attachments 링크를 보고 첨부파일로 생각해서 이를 조사할 생각을 못하였다가 다시 확인해보니 markdown에서 표현하지 못하는 다른 표현을 할수 있..
Mattermost를 연동하거나 메세지를 임의로 보내야할 경우 사용/연동할수 방법에 대하여 간단히 정리해보도록 하겠다. 먼저 Mattermost에서 제공하는 메세지 출력전 인증방법은 다음과 같다. webhook bot token personnal token 여기서는 3번을 제외한 나머지 두방법에 대하여 UI 화면과 함께 간략히 소개해보도록 하겠다. webhook URL을 사용한 shell script로 attachment가 포함된 message 전달 기본적으로 webhook URL의 경우 별도의 인증과정을 거치지는 않는다. (보안을 고려한다면 접속 IP를 ACL로 관리하는것을 추천한다.) 먼저 webhook URL 추가를 진행한다. Mattermost App이나 Web Browser에서 Integrati..
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..
Grafana Login 을 Keycloak OAuth 방식을 사용하여 처리하는 과정에 대하여 간단히 정리하고자 한다. 실제 원하는 동작 구성은 다음과 같다. Prerequites 두개의 서버를 준비하여 docker로 각 서비스를 동작시킬 예정이다. (여기서는 가상머신 두개를 통해 환경을 구성했다. 실환경이라면 좀더 보안적인 요소와 설정에 대한 고려가 필요하다.) keycloak server (13.0.1) grafana server (8.0.2) keycloak 서비스 준비 Keycloak 서비스를 동작시키기 위해 아래와 같은 docker 명령을 실행하자. [root@keycloak-server ~]# docker run -d -p 8080:8080 -e KEYCLOAK_USER=admin --name..
- Total
- Today
- Yesterday
- nginx-ingress
- Terraform
- openstack backup
- kubernetes install
- boundary ssh
- vmware openstack
- hashicorp boundary
- minio
- jenkins
- minikube
- kata container
- crashloopbackoff
- macvlan
- openstacksdk
- K3S
- Jenkinsfile
- aquasecurity
- wsl2
- Helm Chart
- mattermost
- ceph
- OpenStack
- ansible
- metallb
- open policy agent
- socket
- kubernetes
- DevSecOps
- GateKeeper
- azure policy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |