I leave the link as a guide https://cloud.google.com/healthcare/docs/how-tos/dicom-connect-pacs#creating_a_dicom_store<br>
Deploying the adapter using Google Kubernetes Engine<br>
my manifest file
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" `
In console
$kubectl apply -f dicom_adapter.yaml
error: unable to recognize "dicom_adapter.yaml": no matches for kind "Deployment" in version "extensions/v1beta"
In your yaml file change apiVersion
from extensions/v1beta1
to apps/v1
.
In official doc:
Deployment in the extensions/v1beta1, apps/v1beta1, and apps/v1beta2 API versions is no longer served
- Migrate to use the apps/v1 API version, available since v1.9. Existing persisted data can be retrieved/updated via the new version.
In new version of Kubernetes there are changes:
This issue is raised here: https://issuetracker.google.com/issues/185205137
Also under spec
section in your deployment
configuration you have to use selector
field with matchLabels
section. In your case part of deployment should look like:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: dicom-adapter
spec:
replicas: 1
template:
metadata:
labels:
app: dicom-adapter
spec:
selector:
matchLabels:
app: dicom-adapter
the selector: matchLabels
tells the resource, whatever it may be, service, deployment, etc, to match the pod, according to that label.
Take a look on official documentation - kubernetes-object-labels-selectors.