ConfingExeption при отправке сигнала задания в kubernetes внутри django для активации pod

Я создал программу на C++ и установил ее в docker/kubernetes внутри облака google, используя действия Github. У меня есть 3 активных pods внутри моего кластера, и моя программа на c++ в основном принимает json в качестве входных данных от приложения django и дает выходные данные. Моя цель сейчас - запустить pod внутри django. Сейчас я написал некоторый код, используя официальный пакет kubernetes django, но я получаю ошибку:

Вот то, что я писал до сих пор:

from kubernetes import client, config, utils
import kubernetes.client
from kubernetes.client.rest import ApiException

# Set logging
logging.basicConfig(stream=sys.stdout, level=logging.INFO)

# Setup K8 configs
# config.load_incluster_config("./kube-config.yaml")
config.load_kube_config("./kube-config.yaml")
configuration = kubernetes.client.Configuration()
api_instance = kubernetes.client.BatchV1Api(kubernetes.client.ApiClient(configuration))

Я не очень много знаю о файле kube-config.yaml, поэтому я позаимствовал код из интернета:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: test
spec:
  schedule: "*/5 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: test
            image: test:v5
            env:
            imagePullPolicy: IfNotPresent
            command: ['./CppProgram']
            args: ['project.json']
          restartPolicy: OnFailure

Файл yaml и файл python находятся в одном каталоге.

Но когда я вызываю это через представление, я получаю эту ошибку на консоли:

kubernetes.config.config_exception.ConfigException: Invalid kube-config file. No configuration found.

Виноват ли мой вызов load_kube_config или мой yaml-файл неправильный? Если да, то есть ли пример, который я могу рассмотреть?

Я видел этот вопрос задавался ранее, я думаю, что согласно этому я должен использовать load_kube_config (я уже развернул на движке google kubernetes и подсы должны быть готовы. ), но я не уверен.

Вам необходимо использовать функцию load_incluster_config() вместо load_kube_config().

Вернуться на верх