previously, docker image 빌드를 해보았다.
https://fullmooney.tistory.com/56
pinpoint server 2.5.4 base image build for k8s
pinpoint 는 docker-compose로 배포되고 있어서, kubernetes 환경에 설치방법에 대한 가이드가 없는 것으로 보였다. docker-compose로 구성은 아주 간단히 잘 되었지만, 주로 PaaS를 사용하고 있기 때문에 설치
fullmooney.tistory.com
이 이미지들로 k8s 배포를 위해 YAML을 작성해 보자.
ConfigMap
먼저 configMap YAML 생성을 해본다.
pinpoint docker-compose github에서 받아온 .env를 활용한다.
https://github.com/pinpoint-apm/pinpoint-docker/blob/master/.env
pinpoint-docker/.env at master · pinpoint-apm/pinpoint-docker
Official Dockerized components of the Pinpoint. Contribute to pinpoint-apm/pinpoint-docker development by creating an account on GitHub.
github.com
kubectl 로 파일 생성해서 출력해보니 잘 만들어졌다.
% kubectl create cm pinpoint-cm --from-env-file=.env -o yaml --dry-run=client > pinpoint-cm.yaml
% cat pinpoint-cm.yaml
apiVersion: v1
data:
ADMIN_PASSWORD: admin
AGENT_DEBUG_LEVEL: INFO
AGENT_ID: app-in-docker
AGENTEVENT_TTL: "5184000"
AGENTINFO_TTL: "31536000"
AGENTLIFECYCLE_TTL: "5184000"
AGENTSTATV2_TTL: "5184000"
ALARM_MAIL_DEBUG: "false"
ALARM_MAIL_SENDER_ADDRESS: pinpoint_operator@pinpoint.com
ALARM_MAIL_SERVER_PASSWORD: password
ALARM_MAIL_SERVER_PORT: "587"
ALARM_MAIL_SERVER_URL: smtp.gmail.com
ALARM_MAIL_SERVER_USERNAME: username
ALARM_MAIL_SMTP_AUTH: "false"
ALARM_MAIL_SMTP_PORT: "25"
ALARM_MAIL_SMTP_STARTTLS_ENABLE: "false"
ALARM_MAIL_SMTP_STARTTLS_REQUIRED: "false"
ALARM_MAIL_TRANSPORT_PROTOCOL: smtp
APIMETADATA_TTL: "31536000"
APP_NAME: quickapp
APP_PORT: "8085"
APPINDEX_TTL: "31536000"
APPMAPSTATCALLERV2_TTL: "5184000"
APPMAPSTATCALLEV2_TTL: "5184000"
APPMAPSTATSELFV2_TTL: "5184000"
APPSTATAGGRE_TTL: "5184000"
APPTRACEINDEX_TTL: "5184000"
BATCH_FLINK_SERVER: pinpoint-flink-jobmanager
BATCH_LOGGING_LEVEL_ROOT: INFO
BATCH_SERVER_PORT: "8079"
CLUSTER_ENABLE: "true"
COLLECTOR_FIXED_IP: pinpoint-collector
COLLECTOR_IP: pinpoint-collector
COLLECTOR_LOGGING_LEVEL_ROOT: INFO
COLLECTOR_RECEIVER_BASE_PORT: "9994"
COLLECTOR_RECEIVER_GRPC_AGENT_PORT: "9991"
COLLECTOR_RECEIVER_GRPC_SPAN_PORT: "9993"
COLLECTOR_RECEIVER_GRPC_STAT_PORT: "9992"
COLLECTOR_RECEIVER_SPAN_UDP_PORT: "9996"
COLLECTOR_RECEIVER_STAT_UDP_PORT: "9995"
COLLECTOR_SPAN_PORT: "9996"
COLLECTOR_STAT_PORT: "9995"
COLLECTOR_TCP_PORT: "9994"
CONFIG_SENDUSAGE: "true"
CONFIG_SHOW_APPLICATIONSTAT: "true"
FLINK_CLUSTER_ENABLE: "true"
FLINK_CLUSTER_ZOOKEEPER_ADDRESS: zoo1
FLINK_WEB_PORT: "8081"
HOSTAPPMAPV2_TTL: "5184000"
JDBC_DRIVERCLASSNAME: com.mysql.jdbc.Driver
MYSQL_DATABASE: pinpoint
MYSQL_PASSWORD: admin
MYSQL_ROOT_PASSWORD: root123
MYSQL_USER: admin
PINPOINT_AGENT_NAME: pinpoint-agent
PINPOINT_BATCH_NAME: pinpoint-batch
PINPOINT_COLLECTOR_NAME: pinpoint-collector
PINPOINT_FLINK_NAME: pinpoint-flink
PINPOINT_HBASE_NAME: pinpoint-hbase
PINPOINT_METRIC_KAFKA_BOOTSTRAP_SERVERS: pinpoint-kafka:9092
PINPOINT_MODULES_WEB_LOGIN: ""
PINPOINT_NETWORK_SUBNET: 172.24.0.0/27
PINPOINT_VERSION: latest
PINPOINT_WEB_NAME: pinpoint-web
PINPOINT_ZOOKEEPER_ADDRESS: zoo1
PROFILER_SAMPLING_CONTINUE_THROUGHPUT: "0"
PROFILER_SAMPLING_COUNTING_SAMPLING_RATE: "1"
PROFILER_SAMPLING_NEW_THROUGHPUT: "0"
PROFILER_SAMPLING_PERCENT_SAMPLING_RATE: "100"
PROFILER_SAMPLING_TYPE: COUNTING
PROFILER_TRANSPORT_AGENT_COLLECTOR_PORT: "9991"
PROFILER_TRANSPORT_METADATA_COLLECTOR_PORT: "9991"
PROFILER_TRANSPORT_MODULE: GRPC
PROFILER_TRANSPORT_SPAN_COLLECTOR_PORT: "9993"
PROFILER_TRANSPORT_STAT_COLLECTOR_PORT: "9992"
SPRING_DATA_REDIS_HOST: pinpoint-redis
SPRING_DATA_REDIS_PASSWORD: ""
SPRING_DATA_REDIS_PORT: "6379"
SPRING_DATA_REDIS_USERNAME: default
SPRING_DATASOURCE_HIKARI_JDBCURL: jdbc:mysql://pinpoint-mysql:3306/pinpoint?characterEncoding=UTF-8
SPRING_DATASOURCE_HIKARI_PASSWORD: admin
SPRING_DATASOURCE_HIKARI_USERNAME: admin
SPRING_METADATASOURCE_HIKARI_JDBCURL: jdbc:mysql://pinpoint-mysql:3306/pinpoint?characterEncoding=UTF-8
SPRING_METADATASOURCE_HIKARI_PASSWORD: admin
SPRING_METADATASOURCE_HIKARI_USERNAME: admin
SPRING_PINOTDATASOURCE_PINOT_JDBCURL: jdbc:pinot://pinot-controller:9000
SPRING_PINOTDATASOURCE_PINOT_PASSWORD: admin
SPRING_PINOTDATASOURCE_PINOT_USERNAME: admin
SPRING_PROFILES: release
SQLMETADATA_TTL: "15552000"
STRINGMETADATA_TTL: "15552000"
TRACEV2_TTL: "5184000"
WEB_LOGGING_LEVEL_ROOT: INFO
WEB_SECURITY_AUTH_ADMIN: '"eve:baz"'
WEB_SECURITY_AUTH_JWT_SECRETKEY: __PINPOINT_JWT_SECRET__
WEB_SECURITY_AUTH_USER: '"alice:foo,bob:bar"'
WEB_SERVER_PORT: "8080"
kind: ConfigMap
metadata:
creationTimestamp: null
name: pinpoint-cm
PVC
다음으로 mysql-data, hbase-data PVC YAML을 작성하고 nfs storageClass로 PV를 provisioning한다.
대략 10Gb, 30Gb 정도로 생성하였다.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-data
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: nfs-client
volumeMode: Filesystem
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: hbase-data
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
storageClassName: nfs-client
volumeMode: Filesystem
Pinpoint YAML
zookeeper
이제 각 서비스의 YAML을 작성해보자.
먼저 zookeeper이다. zookeeper helm으로 cluster 구성하지 않고, docker compose와 동일하게 각 zoo1, zoo2, zoo3을 각각 deployment로 replica 1로 작성하였다.
kind: Deployment
apiVersion: apps/v1
metadata:
name: zoo1
spec:
replicas: 1
selector:
matchLabels:
app: zoo1
template:
metadata:
creationTimestamp: null
labels:
app: zoo1
spec:
containers:
- name: zoo1
image: 'docker.io/zookeeper:3.4.13'
ports:
- containerPort: 2181
protocol: TCP
- containerPort: 2888
protocol: TCP
- containerPort: 3888
protocol: TCP
env:
- name: ZOO_MY_ID
value: '1'
- name: ZOO_SERVERS
value: >-
server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 1
progressDeadlineSeconds: 600
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: zoo2
spec:
replicas: 1
selector:
matchLabels:
app: zoo2
template:
metadata:
creationTimestamp: null
labels:
app: zoo2
spec:
containers:
- name: zoo2
image: 'docker.io/zookeeper:3.4.13'
ports:
- containerPort: 2181
protocol: TCP
- containerPort: 2888
protocol: TCP
- containerPort: 3888
protocol: TCP
env:
- name: ZOO_MY_ID
value: '2'
- name: ZOO_SERVERS
value: >-
server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888
server.3=zoo3:2888:3888
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 1
progressDeadlineSeconds: 600
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: zoo3
spec:
replicas: 1
selector:
matchLabels:
app: zoo3
template:
metadata:
creationTimestamp: null
labels:
app: zoo3
spec:
containers:
- name: zoo3
image: 'docker.io/zookeeper:3.4.13'
ports:
- containerPort: 2181
protocol: TCP
- containerPort: 2888
protocol: TCP
- containerPort: 3888
protocol: TCP
env:
- name: ZOO_MY_ID
value: '3'
- name: ZOO_SERVERS
value: >-
server.1=zoo1:2888:3888 server.2=zoo2:2888:3888
server.3=0.0.0.0:2888:3888
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 1
progressDeadlineSeconds: 600
서비스는 다음과 같다.
kind: Service
apiVersion: v1
metadata:
name: zoo1
labels:
app: zoo1
spec:
ports:
- name: tcp-clients
protocol: TCP
port: 2181
targetPort: 2181
- name: replication
protocol: TCP
port: 2888
targetPort: 2888
- name: election
protocol: TCP
port: 3888
targetPort: 3888
selector:
app: zoo1
---
kind: Service
apiVersion: v1
metadata:
name: zoo2
labels:
app: zoo2
spec:
ports:
- name: tcp-clients
protocol: TCP
port: 2181
targetPort: 2181
- name: replication
protocol: TCP
port: 2888
targetPort: 2888
- name: election
protocol: TCP
port: 3888
targetPort: 3888
selector:
app: zoo2
---
kind: Service
apiVersion: v1
metadata:
name: zoo3
labels:
app: zoo3
spec:
ports:
- name: tcp-clients
protocol: TCP
port: 2181
targetPort: 2181
- name: replication
protocol: TCP
port: 2888
targetPort: 2888
- name: election
protocol: TCP
port: 3888
targetPort: 3888
selector:
app: zoo3
Mysql
이제 mysql 을 작성한다.
kind: Deployment
apiVersion: apps/v1
metadata:
name: pinpoint-mysql
spec:
replicas: 1
selector:
matchLabels:
app: pinpoint-mysql
template:
metadata:
creationTimestamp: null
labels:
app: pinpoint-mysql
spec:
volumes:
- name: mysql-data
emptyDir: {}
containers:
- resources: {}
terminationMessagePath: /dev/termination-log
name: pinpoint-mysql
ports:
- containerPort: 3306
protocol: TCP
imagePullPolicy: IfNotPresent
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
terminationMessagePolicy: File
envFrom:
- configMapRef:
name: pinpoint-cm
image: docker.io/mooneyred/pinpoint-mysql:8.0.ubuntu
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
---
kind: Service
apiVersion: v1
metadata:
name: pinpoint-mysql
spec:
ports:
- protocol: TCP
port: 3306
targetPort: 3306
selector:
app: pinpoint-mysql
hbase
다음으로 hbase statefulset이다.
kind: StatefulSet
apiVersion: apps/v1
metadata:
annotations:
kubernetes.io/instance: pinpoint
name: pinpoint-hbase
labels:
app: pinpoint-hbase
spec:
replicas: 1
selector:
matchLabels:
app: pinpoint-hbase
template:
metadata:
creationTimestamp: null
labels:
app: pinpoint-hbase
spec:
volumes:
- name: hbase-data
persistentVolumeClaim:
claimName: hbase-data
- name: zookeeper
emptyDir: {}
containers:
- resources: {}
terminationMessagePath: /dev/termination-log
name: pinpoint-hbase
ports:
- containerPort: 60000
protocol: TCP
- containerPort: 16010
protocol: TCP
- containerPort: 60020
protocol: TCP
- containerPort: 16030
protocol: TCP
- containerPort: 16201
protocol: TCP
imagePullPolicy: IfNotPresent
volumeMounts:
- name: hbase-data
mountPath: /home/pinpoint/hbase
- name: zookeeper
mountPath: /home/pinpoint/zookeeper
terminationMessagePolicy: File
envFrom:
- configMapRef:
name: pinpoint-cm
image: docker.io/mooneyred/pinpoint-hbase:2.5.4.ubuntu
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
serviceName: ''
podManagementPolicy: OrderedReady
updateStrategy:
type: RollingUpdate
rollingUpdate:
partition: 0
revisionHistoryLimit: 2
---
kind: Service
apiVersion: v1
metadata:
name: pinpoint-hbase-0
spec:
ports:
- name: master
protocol: TCP
port: 60000
targetPort: 60000
- name: master2
protocol: TCP
port: 16010
targetPort: 16010
- name: regionserver
protocol: TCP
port: 60020
targetPort: 60020
- name: regionserver2
protocol: TCP
port: 16030
targetPort: 16030
- name: hbase
protocol: TCP
port: 16201
targetPort: 16201
selector:
app: pinpoint-hbase
jobmanager / taskmanager
이어서 jobmanager와 taskmanager는 하나의 pod에 컨테이너가 같이 올라가도록 pinpoint-flink라는 이름의 statefulSet YAML을 작성한다.
kind: StatefulSet
apiVersion: apps/v1
metadata:
annotations:
kubernetes.io/instance: pinpoint
name: pinpoint-flink
labels:
app: pinpoint-flink
spec:
replicas: 1
selector:
matchLabels:
app: pinpoint-flink
template:
metadata:
creationTimestamp: null
labels:
app: pinpoint-flink
spec:
containers:
- name: pinpoint-flink-jobmanager
image: docker.io/mooneyred/pinpoint-jobmanager:2.5.4.ubuntu
ports:
- containerPort: 6123
protocol: TCP
- containerPort: 8081
protocol: TCP
env:
- name: JOB_MANAGER_RPC_ADDRESS
value: localhost
- name: PINPOINT_ZOOKEEPER_ADDRESS
value: zoo1
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
- name: pinpoint-flink-taskmanager
image: docker.io/mooneyred/pinpoint-taskmanager:2.5.4.ubuntu
ports:
- containerPort: 6121
protocol: TCP
- containerPort: 6122
protocol: TCP
- containerPort: 19994
protocol: TCP
env:
- name: JOB_MANAGER_RPC_ADDRESS
value: localhost
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
serviceName: ''
podManagementPolicy: OrderedReady
updateStrategy:
type: RollingUpdate
rollingUpdate:
partition: 0
revisionHistoryLimit: 2
---
kind: Service
apiVersion: v1
metadata:
name: pinpoint-flink-0
spec:
ports:
- name: jobmanager
protocol: TCP
port: 6123
targetPort: 6123
- name: dashobard
protocol: TCP
port: 8081
targetPort: 8081
- name: ipc
protocol: TCP
port: 6121
targetPort: 6121
- name: blobserver
protocol: TCP
port: 6122
targetPort: 6122
- name: taskmanager
protocol: TCP
port: 19994
targetPort: 19994
selector:
app: pinpoint-flink
collector
collector YAML은 다음과 같다.
kind: Deployment
apiVersion: apps/v1
metadata:
name: pinpoint-collector
spec:
replicas: 1
selector:
matchLabels:
app: pinpoint-collector
template:
metadata:
creationTimestamp: null
labels:
app: pinpoint-collector
spec:
volumes:
- name: hbase-data
persistentVolumeClaim:
claimName: hbase-data
- name: zookeeper
emptyDir: {}
containers:
- resources: {}
terminationMessagePath: /dev/termination-log
name: pinpoint-collector
ports:
- containerPort: 9991
protocol: TCP
- containerPort: 9992
protocol: TCP
- containerPort: 9993
protocol: TCP
- containerPort: 9994
protocol: TCP
- containerPort: 9995
protocol: TCP
- containerPort: 9996
protocol: TCP
imagePullPolicy: IfNotPresent
volumeMounts:
- name: hbase-data
mountPath: /home/pinpoint/hbase
- name: zookeeper
mountPath: /home/pinpoint/zookeeper
terminationMessagePolicy: File
envFrom:
- configMapRef:
name: pinpoint-cm
image: docker.io/mooneyred/pinpoint-collector:2.5.4.ubuntu
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
---
kind: Service
apiVersion: v1
metadata:
name: pinpoint-collector
spec:
ports:
- name: collector-receiver-grpc-agent-port
protocol: TCP
port: 9991
targetPort: 9991
- name: collector-receiver-grpc-stat-port
protocol: TCP
port: 9992
targetPort: 9992
- name: collector-receiver-grpc-span-port
protocol: TCP
port: 9993
targetPort: 9993
- name: collector-receiver-base-port
protocol: TCP
port: 9994
targetPort: 9994
- name: collector-receiver-stat-tcp-port
protocol: TCP
port: 9995
targetPort: 9995
- name: collector-receiver-span-tcp-port
protocol: TCP
port: 9996
targetPort: 9996
- name: collector-receiver-stat-udp-port
protocol: UDP
port: 9995
targetPort: 9995
- name: collector-receiver-span-udp-port
protocol: UDP
port: 9996
targetPort: 9996
selector:
app: pinpoint-collector
web
마지막으로 web이다.
kind: StatefulSet
apiVersion: apps/v1
metadata:
name: pinpoint-web
spec:
replicas: 1
selector:
matchLabels:
app: pinpoint-web
template:
metadata:
creationTimestamp: null
labels:
app: pinpoint-web
spec:
containers:
- resources: {}
terminationMessagePath: /dev/termination-log
name: pinpoint-web
env:
- name: WEB_SERVER_PORT
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: WEB_SERVER_PORT
- name: SPRING_PROFILES_ACTIVE
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_PROFILES
- name: PINPOINT_ZOOKEEPER_ADDRESS
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: PINPOINT_ZOOKEEPER_ADDRESS
- name: CLUSTER_ENABLE
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: CLUSTER_ENABLE
- name: ADMIN_PASSWORD
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: ADMIN_PASSWORD
- name: CONFIG_SENDUSAGE
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: CONFIG_SENDUSAGE
- name: LOGGING_LEVEL_ROOT
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: WEB_LOGGING_LEVEL_ROOT
- name: CONFIG_SHOW_APPLICATIONSTAT
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: CONFIG_SHOW_APPLICATIONSTAT
- name: JDBC_DRIVERCLASSNAME
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: JDBC_DRIVERCLASSNAME
- name: JDBC_URL
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATASOURCE_HIKARI_JDBCURL
- name: JDBC_USERNAME
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATASOURCE_HIKARI_USERNAME
- name: JDBC_PASSWORD
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATASOURCE_HIKARI_PASSWORD
- name: SPRING_DATASOURCE_HIKARI_JDBCURL
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATASOURCE_HIKARI_JDBCURL
- name: SPRING_DATASOURCE_HIKARI_USERNAME
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATASOURCE_HIKARI_USERNAME
- name: SPRING_DATASOURCE_HIKARI_PASSWORD
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATASOURCE_HIKARI_PASSWORD
- name: SPRING_METADATASOURCE_HIKARI_JDBCURL
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_METADATASOURCE_HIKARI_JDBCURL
- name: SPRING_METADATASOURCE_HIKARI_USERNAME
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_METADATASOURCE_HIKARI_USERNAME
- name: SPRING_METADATASOURCE_HIKARI_PASSWORD
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_METADATASOURCE_HIKARI_PASSWORD
- name: SPRING_DATA_REDIS_HOST
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATA_REDIS_HOST
- name: SPRING_DATA_REDIS_PORT
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATA_REDIS_PORT
- name: SPRING_DATA_REDIS_USERNAME
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATA_REDIS_USERNAME
- name: SPRING_DATA_REDIS_PASSWORD
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: SPRING_DATA_REDIS_PASSWORD
- name: PINPOINT_MODULES_WEB_LOGIN
valueFrom:
configMapKeyRef:
name: pinpoint-cm
key: PINPOINT_MODULES_WEB_LOGIN
securityContext:
capabilities:
drop:
- MKNOD
ports:
- containerPort: 9997
protocol: TCP
- containerPort: 8080
protocol: TCP
imagePullPolicy: IfNotPresent
terminationMessagePolicy: File
image: docker.io/mooneyred/pinpoint-web:2.5.4.ubuntu
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
serviceName: pinpoint
podManagementPolicy: OrderedReady
updateStrategy:
type: RollingUpdate
rollingUpdate:
partition: 0
revisionHistoryLimit: 1
---
kind: Service
apiVersion: v1
metadata:
name: pinpoint-web
spec:
ports:
- name: web
protocol: TCP
port: 8080
targetPort: 8080
selector:
app: pinpoint-web
docker-compose에서는 depends_on 이라고 해서 배포 순서를 정해놨는데 다 이유가 있다. 위 YAML을 두서없이 막 배포하면 제대로 실행되지 않는다. 운좋게 잘 배포했을수도 있지만..
다음 시간에 배포 순서에 맞게 배포해보고, 배포시 트러블슈팅을 해보자.
'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 base image build for k8s (1) | 2024.10.17 |
| pinpoint APM docker-compose (2) | 2024.08.07 |
| datadog (1) | 2024.08.07 |