Kubernetes 는 내부에 coredns를 통해 별도의 DNS서버를 구성하게 되어 있다. 그러다보니 외부에 등록되지 않은 별도의 도메인을 사용하기 위해서는 추가적인 작업이 필요하다. 하여 이를 어떤식으로 설정할수 있는지 알아보도록 하자. Kubernetes DNS의 기본구성 먼저 간단히 구성을 확인해보면 다음과 같은 coredns와 nodelocadns를 다수 확인할수 있다. [root@localhost ~]# kubectl get pod -n kube-system | grep dns coredns-7677f9bb54-5p6xl 1/1 Running 1 4d coredns-7677f9bb54-p9j47 1/1 Running 2 30d dns-autoscaler-5b7b5c9b6f-czlcl 1/1 R..
기존에 helm chart를 통해 Application 배포를 수행했었다. helm을 사용하면서 아쉬웠던 부분은 helm value로 지정되어 있지 않거나 특정 resource를 추가하기 위해서는 helm chart 자체의 개선이 필요했다. 이로 인해 시간이 좀더 소요되었었고 이슈가 있을 경우 helm chart의 구조를 모르는 경우는 분석에 또 시간이 소요되었다. 이러한 이슈를 다르게 접근한 Kustomize라는 도구를 알게 되었고 이 단점들을 어느정도 보완해줄수 있는 도구라는 생각이 들었다. Kustomize 란 Kustomize는 사실 2017년부터 만들어졌고 소개되어왔다. 현재는 kubectl에 1.14부터 포함되어 사용이 가능하다. Kustomize는 선언적(declarative)를 지향한다. ..
initcontainer를 사용하여 특정 volume에 데이터를 수정해야 하는 상황이 있고 이때 다수의 command line을 입력해주어야 하는 경우가 생겨 관련된 내용을 정리해보았다. 실제 initcontainer는 container가 동작되기 약 3초정도 후에 동작된것을 확인할수 있다. 즉 동시에 실행되는것은 아니고 initcontainer가 먼저 동작되고 완료된 이후 실제 서비스가 될 container가 동작되었다. (참고로 현재 환경은 이미 image가 pull 된 상태이다.) [root@node-003 ~]# crictl ps -a | grep openldap c680eec173823 e41f3abfaad4c 12 minutes ago Running openldap 0 80986d8ca7d21..
Kubernetes 환경에서 Backup과 Restore를 명령줄로 수행할수 있는 도구를 찾다가 Velero라는 도구가 있어 이를 사용해보면서 내용을 정리해보았다. https://github.com/vmware-tanzu/velero Velero란 Velero란 (이전에 알려진것은 Heptio Ark이다.) Kubernetes Cluster 자원과 PV(persistent Volume)들을 Backup하고 Restor 할수 있게 해주는 도구이다. https://velero.io/docs/main/ Velero는 다음과 같은 기능을 수행할수 있다. Backup과 Restore Backup의 scheduling Object Storage 로 Sync Cluster간 pod 부터 pv까지 자원 Migratio..
nginx-ingress를 사용해 다수의 subpath를 각 Application별로 지정해 접근할수 있는 환경을 만들어보고자 한다. ingress에서 subpath를 사용해야 하는 경우 아래와 같은 설정이 필요하다. (kubernetes 1.19.8 에서 아래 설정이 동작되었다.) apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: grafana-ingress namespace: monitoring annotations: nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - host: "test.jacobbaek.com" http: paths: - path: /grafana(/|$)(..
Cluster API VMWARE에서 시작한 OpenSource Project로 Kubernetes의 서브 프로젝트로 선언적 API들과 다수의 Kubernetes Cluster들을 쉽게 운영하고 업그레이드, 배포하기 위한 도구로서 제공되는것에 초점을 맞추고 있다. Cluster API는 kubernetes cluster 전체주기관리(생성,설정,업그레이드,제거)에 대한 선언적인 접근과 kuberetes 스타일의 API를 가져오는 프로젝트이다. Cluster API를 통해 다음과 같은 기능을 수행할 수 있다. multi-master 안정된 Kubernetes cluster들을 배포할수 있다. Kubernetes cluster 초기의 요구되는 모든것을 배포하고 관리할수 있다. 보안 best practices를..
ingress를 처음 사용해보려 했을때 external IP에 대한 궁금증이 생겼었다. 이유는 맨처음 접했을때에는 ingress가 external IP까지 다 만들어줄거라 착각을 했었다. (실제 ingress랑 nodeport, loadbalancer를 하나의 페이지에서 소개하는것을 같은 기능을 제공하는줄 착각했었다.) 알다시피 ingress는 External IP까지 만들고 관리해주지 않는다. 대신 reverse proxy 같은 개념으로 kubernetes 에 동작되는 모든 application이 ingress를 경유해서 외부에서 접근 될수 있도록 만들수 있고 필요에 따라 보안설정, 인증서 적용 등 ingress를 이용해 다양한 방식의 추가 서비스를 제공할수 있게 된다. 그럼 이런 ingress에 대해..

Longhorn Kubernetes를 위한 가볍고, 신뢰할만한 그리고 손쉽게 분산된 Block Storage system이다. Container 기반의 마이크로서비스형태의 volume 관리를 수행하고 각 disk 별 controller를 통해 replication을 수행한다. Kubernetes 기반으로 Persistent volume 제공 및 사용에 초점이 맞추어진 분산 Block Storage이다. https://longhorn.io/docs/0.8.0/what-is-longhorn/ 실제 Longhorn maintainer의 이야기에 따르면 edge/hyperconverged 환경에 적합하게 설계된 storage로 보여지며 해당 환경에서 가볍게 동작될수 있는 특징을 가지는것으로 보인다. https:..
- Total
- Today
- Yesterday
- K3S
- Helm Chart
- minio
- kata container
- crashloopbackoff
- Terraform
- azure policy
- open policy agent
- ansible
- kubernetes
- nginx-ingress
- vmware openstack
- macvlan
- socket
- GateKeeper
- Jenkinsfile
- DevSecOps
- ceph
- kubernetes install
- wsl2
- OpenStack
- openstacksdk
- metallb
- jenkins
- aquasecurity
- mattermost
- minikube
- hashicorp boundary
- openstack backup
- boundary ssh
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |