I'm trying to run iceberg on kubernetes.
Here are the files that I'm using:
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: mc
name: mc
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: mc
strategy: {}
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: mc
spec:
containers:
- command:
- /bin/sh
- -c
- ' until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo ''...waiting...'' && sleep 1; done; /usr/bin/mc rm -r --force minio/warehouse; /usr/bin/mc mb minio/warehouse; /usr/bin/mc policy set public minio/warehouse; exit 0; '
env:
- name: AWS_ACCESS_KEY_ID
value: admin
- name: AWS_REGION
value: us-east-1
- name: AWS_SECRET_ACCESS_KEY
value: password
image: minio/mc
name: mc
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: minio
name: minio
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: minio
strategy: {}
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: minio
spec:
containers:
- args:
- server
- /data
- --console-address
- :9001
env:
- name: MINIO_ROOT_PASSWORD
value: password
- name: MINIO_ROOT_USER
value: admin
image: minio/minio
name: minio
ports:
- containerPort: 9001
- containerPort: 9000
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: minio
name: minio
spec:
type: LoadBalancer
ports:
- name: "9001"
port: 9001
targetPort: 9001
- name: "9000"
port: 9000
targetPort: 9000
selector:
io.kompose.service: minio
status:
loadBalancer: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: rest
name: rest
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: rest
strategy: {}
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: rest
spec:
containers:
- env:
- name: AWS_ACCESS_KEY_ID
value: admin
- name: AWS_REGION
value: us-east-1
- name: AWS_SECRET_ACCESS_KEY
value: password
- name: CATALOG_IO__IMPL
value: org.apache.iceberg.aws.s3.S3FileIO
- name: CATALOG_S3_ENDPOINT
value: http://minio:9000
- name: CATALOG_WAREHOUSE
value: s3a://warehouse/wh/
image: tabulario/iceberg-rest:0.2.0
name: rest
ports:
- containerPort: 8181
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: rest
name: rest
spec:
type: LoadBalancer
ports:
- name: "8181"
port: 8181
targetPort: 8181
selector:
io.kompose.service: rest
status:
loadBalancer: {}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: spark-iceberg-claim0
name: spark-iceberg-claim0
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: spark-iceberg-claim1
name: spark-iceberg-claim1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: spark-iceberg
name: spark-iceberg
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: spark-iceberg
strategy:
type: Recreate
template:
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: spark-iceberg
spec:
containers:
- env:
- name: AWS_ACCESS_KEY_ID
value: admin
- name: AWS_REGION
value: us-east-1
- name: AWS_SECRET_ACCESS_KEY
value: password
image: tabulario/spark-iceberg
name: spark-iceberg
ports:
- containerPort: 8888
- containerPort: 8080
resources: {}
volumeMounts:
- mountPath: /home/iceberg/warehouse
name: spark-iceberg-claim0
- mountPath: /home/iceberg/notebooks/notebooks
name: spark-iceberg-claim1
restartPolicy: Always
volumes:
- name: spark-iceberg-claim0
persistentVolumeClaim:
claimName: spark-iceberg-claim0
- name: spark-iceberg-claim1
persistentVolumeClaim:
claimName: spark-iceberg-claim1
status: {}
---
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.27.0 (b0ed6a2c9)
creationTimestamp: null
labels:
io.kompose.service: spark-iceberg
name: spark-iceberg
spec:
type: LoadBalancer
ports:
- name: "8882"
port: 8882
targetPort: 8888
- name: "8081"
port: 8081
targetPort: 8080
selector:
io.kompose.service: spark-iceberg
status:
loadBalancer: {}
after deploy all pods are working fine except the rest pod
when I see the log I get this message
Exception in thread "main" java.lang.NumberFormatException: For input string: "tcp://10.101.184.144:8181"
How can I get the rest pod work properly?
I try to change the image of the rest deployment and change some ports of the service