$ mkdir HelloWorld $ cd HelloWorld $ dotnet new -t web
$ dotnet restore $ dotnet run
FROM microsoft/dotnet:1.0.1-core COPY . /app WORKDIR /app RUN [“dotnet”, “restore”] RUN [“dotnet”, “build”] EXPOSE 8080/tcp ENV ASPNETCORE_URLS http://*:8080 ENTRYPOINT [“dotnet”, “run”]
$ docker build -t gcr.io/<PROJECT_ID>/hello-dotnet:v1 .
$ docker build -t gcr.io/
$ docker run -d -p 8080:8080 -t gcr.io/<PROJECT_ID>/hello-dotnet:v1
$ docker run -d -p 8080:8080 -t gcr.io/
$ gcloud docker push gcr.io//hello-dotnet:v1
$ gcloud container clusters create hello-dotnet-cluster --num-nodes 2 --machine-type n1-standard-1
Creating cluster hello-dotnet-cluster...done.
$ gcloud components install kubectl
$ gcloud container clusters get-credentials hello-dotnet-cluster \ --zone europe-west1-b --project <PROJECT_ID>
$ gcloud container clusters get-credentials hello-dotnet-cluster \ --zone europe-west1-b --project
$ kubectl run hello-dotnet --image=gcr.io/hello-dotnet:v1 \ --port=8080 deployment “hello-dotnet” created
$ kubectl get deployments NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE hello-dotnet 1 1 1 0 28s $ kubectl get pods NAME READY STATUS RESTARTS AGE hello-dotnet-3797665162-gu99e 1/1 Running 0 1m
$ kubectl expose deployment hello-dotnet --type="LoadBalancer" service "hello-dotnet" exposed
$ kubectl get services NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-dotnet XX.X.XXX.XXX XXX.XXX.XX.XXX 8080/TCP 1m
pip install google-cloud-dataflow --user
python
import apache_beam as beam with beam.Pipeline() as p: p | beam.Create(['hello', 'world']) | beam.io.Write(beam.io.TextFileSink('./test'))
exit() more ./test*
$ gcloud container clusters create mycluster
$ gcloud container clusters get-credentials mycluster
Hello World → [H,e,l,l,o, ,W,o,r,l,d]
Hello World → dlroW olleH
Hello World → hello world
Hello World → HELLO WORLD
FROM ruby:2.3.0-onbuild CMD ["ruby", "./arrayify.rb"]
FROM python:2.7.11-onbuild CMD [ "python", "./app.py" ]
FROM node:5.7.0-onbuild
FROM golang:1.6-onbuild
$ docker build -t gcr.io/<PROJECT_ID>/<CONTAINER_NAME>:<CONTAINER_VERSION> .
$ docker run -ti -p 8080:80 <CONTAINER_NAME>
$ docker-machine list
$ docker-machine ip <NAME_OF_INSTANCE>
$ gcloud docker push <CONTAINER_NAME>
$ kubectl run <SERVICE_NAME> \ --image=<CONTAINER_NAME> \ --port=80
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: arrayify spec: replicas: 3 template: metadata: labels: name: arrayify-pods spec: containers: - image: <CONTAINER_NAME> name: arrayify-container imagePullPolicy: Always ports: - containerPort: 80 name: http-server
$ kubectl apply -f deployment.yaml
$ kubectl get deployments
$ kubectl get pods
apiVersion: v1 kind: Service metadata: name: arrayify spec: ports: - port: 80 targetPort: 80 protocol: TCP selector: name: arrayify-pods
$ kubectl create -f service.yaml
$ kubectl get svc
resolver 10.11.240.10 valid=5s;
$ kubectl get svc kube-dns --namespace=kube-system
upstream arrayify-backend { zone arrayify-backend 64k; server arrayify.default.svc.cluster.local resolve; }
server { listen 80; status_zone backend-servers; location /arrayify/ { proxy_pass http://arrayify-backend/; } }
$ kubectl scale deployment arrayify --replicas=5
$ kubectl scale deployment arrayify --replicas=1
$ kubectl autoscale deployment arrayify --min=1 --max=5 --cpu-percent=80
$ docker build -t gcr.io/<PROJECT_ID>/arrayify:0.2 .
$ gcloud docker push gcr.io/<PROJECT_ID>/arrayify:0.2
$ kubectl rollout undo deployment/arrayify