certbot을 이용한 무료 certification 생성하여 적용하는 과정에 대해 알아보자. 해당 내용은 아래와 같은 환경이 마련된 상태에서 진행되었다. kubernetes AWS route53 dns 등록 : example.com(가정사항) nginx-ingress : abc.example.com 실제 동작될 환경은 kubernetes 상에 동작되는 pod이며 해당 pod는 ingress로 외부에서 연결이 가능하다. ingress의 tls 항목에 secretName에서 사용할 인증서를 아래와 같은 과정을 통해 생성 및 적용해보자. certbot 준비 CentOS7 기준으로 아래와 같은 순서로 인증서 생성을 진행한다. yum install epel-release -y yum install certbot..
Kubernetes 환경에서 Logging 및 Monitoring을 위한 환경 구성에 대하여 알아보도록 하자. 먼저 사용되는 구성요소들은 다음과 같다. logging Fluent-bit (각 노드) -> elasticsearch -> grafana / kibana monitoring node_exporter (각 노드) -> prometheus -> grafana 각 구성요소는 다음과 같은 구성으로 이루어진다. component helm chart namspace persistence volume etc ElasticSearch elastic/elasticsearch(helm.elastic.co) LMA 사용 Fluentbit stable/fluent-bit LMA 미사용 elasticsearch로 lo..
매번 까먹어서 통신을 위한 domain 을 입력해야할때 몇번을 찾는 경우가 있어 이번 기회에 정리하고자 한다. [service-name].[namespace].svc.[cluster-name] 일반적으로 아래와 같이 kubernetes로 구동시켜진 pod에 exec 로 들어가 확인해보면 cluster name과 함께 service-name을 제외한 도메인을 확인할수 있다. [root@master001 ~]# kubectl exec -it jenkins-859966c5fb-cczrk -n jenkins cat /etc/resolv.conf nameserver 10.233.0.3 search jenkins.svc.cluster.local svc.cluster.local cluster.local options..
helm을 신규로 만들게 되면 helm chart repo를 개인적으로 소유해야 하는 경우가 발생되기도 한다. 이러한 경우 어떻게 repo를 만들어서 추가하여 사용할 수 있는지 알아보도록 하자. helm chart repo on localhost 우선 helm chart를 localhost에서 구동해보자. 물론 chart museum이나 minio(s3)같은 환경을 활용해도 무방하다. 여기서는 간단히 동작을 알아보기 위해 간단히 python webserver로 동작시키는 방식을 사용했다. 우선 여러개의 helm chart가 존재하는 디렉토리로 이동해 다음과 같은 helm chart repo로 동작되게 하기 위한 준비과정을 수행한다. python http.server 모듈을 이용한 웹서버 구동 jacob@..
이슈사항 및 발생원인 production 환경에서 잘못해서 PVC를 삭제한 경우 어떻게 대처하고 재생성을 하였는지를 기록해보고자 한다. 실수로 dev 환경으로 착각하고 아래와 같은 명령어를 실행하였다. [root@kube ~]# kubectl delete pvc/spinnaker-minio -n spinnaker실제 pvc는 volumeattached 명령어로 확인해본 결과 아직 attached 상태이기에 pv가 삭제되지는 않았다. (다시한번 production에 대한 permission 관리와 다양한 접근제어가 필요하다는 생각을...) [root@kube ~]# kubectl get volumeattachment -n spinnaker NAME ATTACHER PV NODE ATTACHED AGE cs..
이슈사항 kubespray를 이용한 worker node scaleout시에 실패가 발생되는 현상 아래와 같은 docker client의 버전 이슈가 발생됨. RUNNING HANDLER [container-engine/docker : Docker | wait for docker] ****************************************************************************************************************************************************************** Wednesday 20 May 2020 00:08:17 +0000 (0:00:01.264) 0:05:48.031 ********* FAIL..
로컬 서버(Laptop)에서 테스트를 위해 VM을 특정한 환경(예를 들어 kubernetes, ceph와 같은)으로 구성해야할 경우가 종종있다. 이때 마다 불필요하게 반복된 작업을 해야할 경우가 있었다. 이를 Terraform을 통해 코드화 하여 한번 구성해 놓으면 이후에도 손쉽게 환경을 구성할수 있도록 해보고자 했다. 검색해보니 아쉽게도 official하게 제공되지는 않지만 libvirt-provider가 있어 이를 활용해 KVM환경에서 VM을 생성 및 관리하는 방법에 대해 알아보고 테스트 했던 내용을 기반으로 기술해보고자 한다. 그럼, Terraform을 이용하여 KVM환경에서 VM을 어떻게 생성하는지 알아보도록 하자. 우선, 실행해보았던 환경은 다음과 같다. jacob@jacob-laptop:~/w..
cronjob을 이용한 mariadb 백업 수행 cronjob을 이용하여 mariadb backup을 수행해보자. 아래 작업은 다음과 같은 사항이 기반되어 있다고 가정하고 시작하였다. mariadb 는 k8s내에 deployment로 배포되어 있다라고 가정 mariadb 라는 service로 해당 cluster내에서 접근이 가능한 상황(별도의 nodeport, loadbalancer로 동작되지 않음) manifest 작성 아래 내용을 사전에 확인하자. mariadb password 및 host 정보등을 정확히 확인해놓아야 한다. hostpath로 지정한 directory(/data) 가 사전에 생성되어 있어야 한다. 아래와 같은 cronjob manifest를 생성하여 배포를 진행한다. apiVersio..
- Total
- Today
- Yesterday
- crashloopbackoff
- openstack backup
- OpenStack
- Jenkinsfile
- aquasecurity
- vmware openstack
- macvlan
- boundary ssh
- kubernetes install
- wsl2
- minio
- ansible
- jenkins
- azure policy
- minikube
- DevSecOps
- kubernetes
- socket
- hashicorp boundary
- openstacksdk
- Terraform
- Helm Chart
- kata container
- mattermost
- GateKeeper
- open policy agent
- nginx-ingress
- metallb
- K3S
- ceph
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |