É possível listar o nome da conta ativa com este comando:
gcloud auth list
É possível listar o ID de projeto com este comando:
gcloud config list project
Defina a zona padrão no Cloud Shell:
gcloud config set compute/zone us-central1-a
Defina a região padrão:
gcloud config set compute/region us-central1
Listar as instancias:
gcloud compute instances list
gcloud container clusters create [CLUSTER-NAME]
gcloud container clusters get-credentials [CLUSTER-NAME]
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0
No Kubernetes, todos os contêineres são executados em um pod.
kubectl get pods
Para criar um serviço Kubernetes, que é um recurso Kubernetes que permite expor seu aplicativo ao tráfego externo, execute o seguinte comando kubectl expose:
kubectl expose deployment hello-server --type=LoadBalancer --port 8080
Para inspecionar o serviço hello-server, execute kubectl get:
kubectl get service
Criar
kubectl create -f pod.yaml
Descrever
kubectl describe pods POD-NAME
Use o comando kubectl exec para executar um shell interativo dentro do pod. Isso pode ser útil para solucionar problemas de dentro de um contêiner:
kubectl exec monolith --stdin --tty -c pod-name /bin/sh
Use o comando kubectl label para adicionar ao pod um rótulo.
kubectl label pods POD-NAME 'secure=enabled'
kubectl get pods POD-NAME --show-labels
kind: Service
apiVersion: v1
metadata:
name: "monolith"
spec:
selector:
app: "monolith"
secure: "enabled"
ports:
- protocol: "TCP"
port: 443
targetPort: 443
nodePort: 31000
type: NodePort
Use o comando gcloud compute firewall-rules para permitir tráfego para o serviço do monolith no nodeport exposto:
gcloud compute firewall-rules create allow-monolith-nodeport \
--allow=tcp:31000
As implantações são uma maneira declarativa de garantir que o número de pods em execução seja igual ao número desejado de pods especificado pelo usuário.
kubectl get deployments
apiVersion: apps/v1
kind: Deployment
metadata:
name: auth
spec:
selector:
matchLabels:
app: auth
replicas: 1
template:
metadata:
labels:
app: auth
track: stable
spec:
containers:
- name: auth
image: "kelseyhightower/auth:2.0.0"
ports:
- name: http
containerPort: 80
- name: health
containerPort: 81
resources:
limits:
cpu: 0.2
memory: "10Mi"
livenessProbe:
httpGet:
path: /healthz
port: 81
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /readiness
port: 81
scheme: HTTP
initialDelaySeconds: 5
timeoutSeconds: 1
Para atualizar sua implantação, execute o seguinte comando:
kubectl edit deployment DEPLOYMENT-NAME
Entrar em um container dentro de um pod.
kubectl exec --stdin --tty pod-name -- /bin/bash