Uso di Docker e Kubernetes

Viene fornita un'immagine Docker per valutare queste funzionalità. Puoi scaricare questa immagine come parte di AIStreamer.

Tieni presente che l'utilizzo di software di terze parti è a tua esclusiva discrezione. Google non detiene il copyright di software di terze parti.

Prerequisiti

Creazione immagine Docker

Vai alla directory di ingestion ed esegui la seguente riga di comando sulla macchina host:

$ export DOCKER_IMAGE=gcr.io/gcp-project-name/docker-image-name:version
$ docker build -t $DOCKER_IMAGE -f env/Dockerfile .

Prova l'immagine Docker sull'host locale

Esegui il seguente comando nel terminale della macchina host:

$ docker run -it $DOCKER_IMAGE /bin/bash

Il comando restituisce una risposta simile all'esempio seguente.

root@e504724e76fc:/#

Per aprire un altro terminale che si connette a Docker, esegui il seguente comando sulla macchina host:

$ docker exec -it e504724e76fc /bin/bash

Ora hai entrambi i terminali host nello stesso container Docker.

Impostazione dell'ambiente dell'immagine Docker

Alcune impostazioni dell'ambiente possono essere personalizzate in the immagine Docker.

#set up environment for Google Video Intelligence Streaming API
ENV SRC_DIR /googlesrc  #Source code directory
ENV BIN_DIR /google     #Binary directory

Esegui il push dell'immagine Docker in Google Cloud Container Registry

Esegui il seguente comando nel terminale della macchina host:

$ gcloud docker --verbosity debug -- push $DOCKER_IMAGE

Potresti dover impostare il controllo dell'accesso.

Esegui il deployment in Google Cloud

Esegui i seguenti comandi nel terminale della macchina host:

$ export KUBE_ID=any_string_you_like
$ kubectl run -it $KUBE_ID --image=$DOCKER_IMAGE -- /bin/bash

Viene restituita una risposta simile alla seguente:

root@$KUBE_ID-215855480-c4sqp:/#

Per aprire un altro terminale che si connette allo stesso container Kubernetes su Google Cloud, esegui la seguente riga di comando sulla macchina host:

$ kubectl exec -it $KUBE_ID-215855480-c4sqp -- /bin/bash

Ora hai entrambi i terminali host nello stesso container Kubernetes su Google Cloud.