Ошибка в Google Healthcare при попытке создать магазин dicom

Я оставляю ссылку в качестве руководства https://cloud.google.com/healthcare/docs/how-tos/dicom-connect-pacs#creating_a_dicom_store

Развертывание адаптера с помощью Google Kubernetes Engine

мой файл манифеста

      apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: dicom-adapter
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: dicom-adapter
    spec:
      containers:
        - name: dicom-import-adapter
          image: gcr.io/cloud-healthcare-containers/healthcare-api-dicom-dicomweb-adapter-import:0.2.1
          ports:
            - containerPort: 2575
              protocol: TCP
              name: "port"
          args:
            - "--dimse_aet=IMPORTADAPTER"
            - "--dimse_port=2575"
            - "--dicomweb_address=https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb" `

В консоли

      $kubectl apply -f dicom_adapter.yaml
error: unable to recognize "dicom_adapter.yaml": no matches for kind "Deployment" in version "extensions/v1beta"

1 ответ

В вашем файле yaml измените apiVersion из extensions/v1beta1 к apps/v1.

В официальном документе :

Развертывание в версиях API extension / v1beta1 , apps / v1beta1 и apps / v1beta2 больше не обслуживается.

  • Выполните переход на версию API apps / v1 , доступную с версии v1.9. Существующие сохраненные данные можно получить / обновить с помощью новой версии.

В новой версии Kubernetes есть изменения:

  • Создание кластера (кластер k8s в версии 1.15 больше не доступен в GKE)
  • Настройка развертывания: начиная с версии 1.16 кластеров k8s - apiVersion: extensions / v1beta1 больше не доступно перейти на использование версии API apps / v1, доступной с v1.9.
    см. документ: api-deprecations-in-1-16/

Вы можете отслеживать упомянутую мной проблему здесь:https://issuetracker.google.com/issues/185205137

Также под spec раздел в вашем deployment конфигурация, которую вы должны использовать selector поле с matchLabelsраздел. В вашем случае часть развертывания должна выглядеть так:

      apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: dicom-adapter
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: dicom-adapter
    spec:
      selector:  
        matchLabels:  
          app: dicom-adapter

в selector: matchLabels сообщает ресурсу, каким бы он ни был, сервису, развертыванию и т. д., чтобы он соответствовал модулю в соответствии с этим ярлыком.

Взгляните на официальную документацию - kubernetes-object-labels-selectors .

Другие вопросы по тегам