pinpoint 는 docker-compose로 배포되고 있어서, kubernetes 환경에 설치방법에 대한 가이드가 없는 것으로 보였다.
docker-compose로 구성은 아주 간단히 잘 되었지만, 주로 PaaS를 사용하고 있기 때문에 설치방법을 찾아봤는데
아주 예전 버전의 helm 차트가 있으나 그간 구성이 달라져 사용이 그대로 안되는 것 같고,
구글링해봐도 대부분 SaaS를 사용하거나, 끝까지 완성시키지 못하거나 비공개한 것으로 보여 내가 정리해본다 (최초? 두근두근)
Base image
먼저 이미지를 생성해 보자.
docker-compose의 내용을 거의 그대로 옮겨놓았는데, 이 작업이 귀찮다면 dockerhub에 미리 올려놓은 이미지를 쓰도록 한다.
docker pull mooneyred/pinpoint-hbase:2.5.4
docker pull mooneyred/pinpoint-jobmanager:2.5.4
docker pull mooneyred/pinpoint-taskmanager:2.5.4
docker pull mooneyred/pinpoint-mysql:8.0
pinpointdocker/pinpoint-hbase:2.5.4, mysql:8.0, pinpointdocker/pinpoint-jobmanager:2.5.4, pinpointdocker/pinpoint-taskmanager:2.5.4 이미지를 생성하기 위해 Dockerfile 을 작성한다.
나머지 pinpointdocker/pinpoint-collector:2.5.4, pinpointdocker/pinpoint-web, redis:7.0.14, zookeeper:3.4.13은 그대로 사용하고 pinpoint-batch는 구성에서 제외하였다.
hbase
1. pinpoint-hbase Dockerfile --> mooneyred/pinpoint-hbase:2.5.4
FROM docker.io/pinpointdocker/pinpoint-hbase:2.5.4
USER root
ENTRYPOINT ["/bin/sh", "-c", "/usr/local/bin/initialize-hbase.sh && tail -f /dev/null"]
jobmanager
2. pinpoint-jobmanager Dockerfile --> mooneyred/pinpoint-jobmanager:2.5.4
FROM docker.io/pinpointdocker/pinpoint-flink:2.5.4
USER root
RUN chmod 777 /opt/flink
ENTRYPOINT ["/docker-bin/docker-entrypoint.sh", "standalone-job", "-p", "1", "pinpoint-flink-job.jar", "-spring.profiles.active", "release"]
taskmanager
3. pinpoint-taskmanager Dockerfile --> mooneyred/pinpoint-taskmanager:2.5.4
FROM docker.io/pinpointdocker/pinpoint-flink:2.5.4
USER root
RUN chmod 777 /opt/flink
ENTRYPOINT ["/docker-bin/docker-entrypoint.sh","taskmanager"]
mysql
4. pinpoint-mysql Dockerfile --> mooneyred/pinpoint-mysql:8.0
FROM docker.io/mysql:8.0
USER root
RUN curl -kSL \
"https://raw.githubusercontent.com/pinpoint-apm/pinpoint/latest/web/src/main/resources/sql/CreateTableStatement-mysql.sql" \
-o /docker-entrypoint-initdb.d/CreateTableStatement-mysql.sql
RUN curl -kSL \
"https://raw.githubusercontent.com/pinpoint-apm/pinpoint/latest/web/src/main/resources/sql/SpringBatchJobRepositorySchema-mysql.sql" \
-o /docker-entrypoint-initdb.d/SpringBatchJobRepositorySchema-mysql.sql
RUN sed -i "/^--/d" /docker-entrypoint-initdb.d/CreateTableStatement-mysql.sql
RUN sed -i "/^--/d" /docker-entrypoint-initdb.d/SpringBatchJobRepositorySchema-mysql.sql
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh", "mysqld"]
이제 k8s에 배포해보자
https://fullmooney.tistory.com/57
pinpoint server 2.5.4 YAML for k8s
previously, docker image 빌드를 해보았다.https://fullmooney.tistory.com/56 pinpoint server 2.5.4 base image build for k8spinpoint 는 docker-compose로 배포되고 있어서, kubernetes 환경에 설치방법에 대한 가이드가 없는 것으
fullmooney.tistory.com
'CloudNative > Observability & Analysis' 카테고리의 다른 글
| jib maven 으로 pinpoint agent 배포 (0) | 2024.10.18 |
|---|---|
| pinpoint server 2.5.4 k8s deploy (2) | 2024.10.18 |
| pinpoint server 2.5.4 YAML for k8s (0) | 2024.10.17 |
| pinpoint APM docker-compose (2) | 2024.08.07 |
| datadog (1) | 2024.08.07 |