Я пытаюсь доставить sh мой контейнер в GCP Kubernetes в моем кластере. Мой модуль работает локально, но он не хочет работать на GCP. Он возвращается с этой ошибкой Error response from daemon: No command specified: CreateContainerError
Это сработало, если я запустил его локально в docker, но как только я набрал sh в реестре контейнеров на gcp и применил развертывание yaml, используя kubectl apply -f
в моем пространстве имен он никогда не поднимается и просто говорит: gce-exporting-fsab83222-85sc4 0/1 CreateContainerError 0 5m6s
Я не могу извлечь из него журналы: Error from server (BadRequest): container "gce" in pod "gce-exporting-fsab83222-85sc4" is waiting to start: CreateContainerError
Вот мои файлы ниже:
Dockerfile:
FROM alpine:3.8
WORKDIR /build
COPY test.py /build
RUN chmod 755 /build/test.py
CMD ["python --version"]
CMD ["python", "test.py"]
Python Сценарий:
#!/usr/bin/python3
import time
def your_function():
print("Hello, World")
while True:
your_function()
time.sleep(10) #make function to sleep for 10 seconds
Файл yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: gce-exporting
namespace: "monitoring"
spec:
selector:
matchLabels:
app: gce
template:
metadata:
labels:
app: gce
spec:
containers:
- name: gce
image: us.gcr.io/lab-manager/lab/gce-exporting:latest
В конце я попытался использовать CMD и Entrypoint, чтобы убедиться, что модуль работает, но не повезло.
Это результат описания модуля
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 60s default-scheduler Successfully assigned monitoring/gce-exporting-fsab83222-85sc4 to gke-dev-lab-standard-8efad9b6-8m66
Normal Pulled 5s (x7 over 59s) kubelet, gke-dev-lab-standard-8efad9b6-8m66 Container image "us.gcr.io/lab-manager/lab/gce-exporting:latest" already present on machine
Warning Failed 5s (x7 over 59s) kubelet, gke-dev-lab-standard-8efad9b6-8m66 Error: Error response from daemon: No command specified