일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kubernetes
- create topic
- k8s
- Golang
- minikube
- kafka-connect
- es
- ElasticSearch
- Kafka
- 쿠버네티스
- broker
- Consumer
- Kafka Connect
- consumer group
- Helm
- command
- tls disable
- partition
- http
- topic
- Producer
- kibana
- Produce
- offset
- eck
- loadbalance
- elastic
- kafka broker
- Elk
- Message
- Today
- Total
목록전체 글 (28)
개발자의 개발괴발

Elasticsearch와 Kibana를 설치했고 Elasticsearch가 잘 동작하는걸 확인했었다.여기 페이지에 있는 화면에 접근을 하고 싶은데 Kibana에 접근하면 보여지는 것으로 보인다.Kibana를 localhost로 port-forward하고 브라우저로 접속하면 바로 접속될 줄 알았지만 역시나 한번에 되는 것은 없다.curl로도 마찬가지였다.$ curl "http://localhost:5601" -vvv* Host localhost:5601 was resolved.* IPv6: ::1* IPv4: 127.0.0.1* Trying [::1]:5601...* Connected to localhost (::1) port 5601> GET / HTTP/1.1> Host: localhost:560..
앞서 elastic-operator와 elasticsearch를 minikube에 배포해봤다.elastic-operator는 helm으로 elasticsearch는 yaml을 통해서 직접 배포했는데 elasticsearch도 helm을 통해 배포할 수가 있었다.심지어 helm 배포 한번으로 elasticsearch와 kibana를 한번에 배포할 수 있다.(여기참고) Helm으로 elasticsearch와 kibana 배포하기먼저 helm repo를 추가한다.$ helm repo add elastic https://helm.elastic.co"elastic" already exists with the same configuration, skipping$ helm repo updateHang tight wh..
Helm으로 설치하기operator없이 그냥 배포할 수도 있지만 operator가 있으면 k8s에서 운영하기 더 편하다고 한다(안해봐서 모르겠지만 그렇다고 한다.)그래서 operator를 배포하고 elasticsearch를 배포해보도록 하겠다.Operator 배포helm을 이용하면 매우 쉽게 설치할 수 있다.여기에서 시키는대로만 하면 된다.(helm 버전은 3.2.0부터 가능)설명에 있는대로 실행해보자.$ helm repo add elastic https://helm.elastic.co"elastic" has been added to your repositories$ helm repo updateHang tight while we grab the latest from your chart repositor..

테니스를 좋아해서 테니스장 예약을 하는 경우가 많다.그런데 네이버 들어가서 하나하나 다 뒤지기 힘들다....그래서 요즘 MCP가 핫하다길래 한번 만들어보았다. 오.... 생각보다 잘된다....만든거 좀 더 고도화해서 배포해봐야겠다. 사용해보실 분은 아래 참조~https://github.com/crying-pizza/mcp-naver-tennis-reservation

kafka connect를 kafka connector 위에 생성해보자.kafka connect는 api server를 가지고 있어서 api 호출을 통해 명령을 날릴 수 있다. kafka connect api에 대한 설명은 여기, kafka connector에 대한 자세한 설명은 여기에 나와있다.kafka connect api 호출해보기연습삼아서 kafka connect api를 호출해보자.$ curl http://localhost:8083/connectors[]현재 설치된 커넥터가 없어서 빈 리스트가 나왔다.사전준비source connector의 source가 되어줄 table을 두개 만들어보자.login_worker table과 login_customer table을 만들고 login_customer..
kafka connect "Fail to list offsets"계속 아래와 같은 에러가 발생하다가org.apache.kafka.common.errors.TimeoutException: Timed out while waiting to get end offsets for topic 'connect-offsets' on brokers at bitnami-kafka-controller-headless:9092Caused by: org.apache.kafka.common.errors.TimeoutException: Call(callName=listOffsets(api=METADATA), deadlineMs=1743252113013, tries=477920, nextAllowedTryMs=1743252113116..
bitnami kafka helm chart여기서 helm 차트를 받을 수 있다.helm 차트를 있는 그대로 install해도 되지만 그냥 install하게되면 개인적으로 사용하고 스터디하기엔 불편하다.(SASL 설정 등등)그래서 replica를 1로 줄이고 하는 등 설정을 바꿔서 deploy 하겠다. helm install bitnami-kafka oci://registry-1.docker.io/bitnamicharts/kafka위 처럼 설치할 수 있고helm install bitnami-kafka oci://registry-1.docker.io/bitnamicharts/kafka -f values.yaml위 처럼 변경한 yaml 파일을 적용할 수 있다.value.yaml 수정하기원본에서 수정한 부분은..
※ 아래 설정으로 해결되지 않는다. 여기 방법으로 해결하긴 했는데 자세한것은 더 연구중이다. CERTIFICATE_VERIFY_FAILED 에러kafka connect를 배포하고 봤더니 아래와 같은 에러가 보인다.CERTIFICATE_VERIFY_FAILED라고 나오는걸 보니 인증서 확인 절차에서 실패한것 같다.[2025-03-24T12:10:18.312Z] "- - -" 0 UF,URX - - "TLS_error:|268435581:SSL_routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED:TLS_error_end" 0 0 4 - "-" "-" "-" "-" "10.244.0.145:9092" outbound|9092||bitnami-kafka-controll..
kafka connector를 동작시키기 위해선 kafka connect가 필요하다.kafka connector와 kafka connect는 이름이 비슷하지만 다른 것이다.kafka connector는 kafka connect 위에서 플러그인 형식으로 동작한다.kafka-connect를 docker로 빌드하기일단 kafka connector를 포함해서 docker build를 먼저 해보자. 여기를 참고해서 해보았다.링크해준 것은 로컬 PC에 내가 사용할 kafka connector가 있는 경우에 유용하다.많은 경우에는 Confluent Hub 에서 제공하는 kafka connector를 쓰는 경우가 많을 것이다.그러나 가끔 접속이 안되는 경우도 있고 또 내가 커스텀으로 개발한 kafka connector..
결론부터 얘기하면 아래 yaml 파일을 만들어 kube apply를 하면 된다.아래 코드를 복사해서 psql17.yaml로 저장한다.apiVersion: v1kind: PersistentVolumeClaimmetadata: name: postgres-pvcspec: storageClassName: manual accessModes: - ReadWriteOnce resources: requests: storage: 5Gi---apiVersion: v1kind: ConfigMapmetadata: name: postgres-configdata: POSTGRES_DB: psql POSTGRES_USER: psql---apiVersion: v1kind: Secretmetadata:..