En este instructivo, se describe cómo usar la página Aplicaciones de Google Kubernetes Engine (GKE) en la consola de Google Cloud.
Cuando adoptas Kubernetes para muchas aplicaciones y recursos, puede ser difícil identificar y hacer un seguimiento de los diversos componentes relacionados con una aplicación. Cuando implementas varias aplicaciones en cada espacio de nombres, puede ser difícil saber qué recursos están relacionados con qué aplicación. Además, a menudo debes buscar en varias ubicaciones la documentación y los metadatos que describen cuáles son las aplicaciones, quiénes son los propietarios y cómo interactuar con los servicios.
GKE ayuda a resolver estos desafíos con la página Aplicaciones:
La página Aplicaciones es un recurso independiente dentro de tu arquitectura que describe los metadatos sobre tu sistema. Puedes usar esta página para organizar tus recursos de forma visual sin cambiar la arquitectura. Mediante la definición de valores en un archivo YAML, puedes agrupar todos los recursos de la aplicación y, también, incluir metadatos vitales para el equipo de operaciones. Crear, modificar y borrar el archivo YAML no afecta los recursos existentes, por lo que puedes trabajar de inmediato con los recursos sin riesgos para tu sistema.
Para demostrar esta página, en este instructivo se muestra cómo implementar el recurso Application de Kubernetes en una aplicación y agregar metadatos definidos por el usuario para organizar y simplificar la administración de la aplicación en GKE.
Este instructivo está dirigido a desarrolladores que crean aplicaciones para ejecutar en GKE. Suponemos que estás familiarizado con los conceptos básicos de Kubernetes y que tienes experiencia en la escritura de archivos YAML de recursos de Kubernetes.
Objetivos
- Ingresar el recurso Application de Kubernetes
- Agregar el recurso Aplicación de Kubernetes a una arquitectura existente
- Crear y visualizar información personalizada sobre una aplicación a través de la consola de Google Cloud
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.
Antes de comenzar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Enable the Compute Engine and Kubernetes Engine APIs.
-
In the Google Cloud console, activate Cloud Shell.
Ejecuta los comandos para este instructivo en Cloud Shell o en el editor de Cloud Shell.
Prepara tu entorno
En Cloud Shell, configura las variables de entorno para tu proyecto:
export PROJECT_ID=PROJECT_ID gcloud config set core/project $PROJECT_ID gcloud config set compute/zone us-central1-c
Reemplaza
PROJECT_ID
por el ID del proyecto de Google Cloud.Crea un clúster de GKE:
gcloud container clusters create sample-cluster
Para este instructivo, debes ejecutar aplicaciones en un clúster de GKE predeterminado.
Instala las aplicaciones de muestra
En este instructivo, simularás la ejecución de varias aplicaciones en el mismo espacio de nombres mediante una aplicación de muestra básica Nginx y la aplicación de muestra Bank of Anthos.
En Cloud Shell, instala la aplicación de muestra Nginx:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/web/web.yaml
Este comando crea un recurso de StatefulSet llamado
web
y un servicio llamadonginx
. En la consola de Google Cloud, puedes ver estos recursos en las páginas Cargas de trabajo e Ingress y servicios de GKE.Clona el repositorio de GitHub que contiene la aplicación de muestra del Bank de Anthos:
git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git cd bank-of-anthos
Genera una clave SSH y guárdala como un Secret de Kubernetes:
openssl genrsa -out jwtRS256.key 4096 openssl rsa -in jwtRS256.key -outform PEM -pubout -out jwtRS256.key.pub kubectl create secret generic jwt-key --from-file=./jwtRS256.key --from-file=./jwtRS256.key.pub
La aplicación de muestra Bank of Anthos requiere una clave SSH para ejecutarse.
Implementa la aplicación de muestra en el clúster.
kubectl apply -f kubernetes-manifests
Después de unos momentos, podrás ver los recursos de aplicación en las páginas siguientes de la consola de Google Cloud:
- La página Cargas de trabajo
- La página Servicios y entrada
Ten en cuenta lo siguiente:
- Los recursos para las aplicaciones de muestra Nginx y Bank of Anthos están mezclados.
- Aún no se muestra ningún recurso en la página Aplicaciones. Completarás la página Aplicaciones en pasos posteriores.
Prepara GKE
Los recursos que muestra la página Aplicaciones se especifican con el tipo de recurso Application de Kubernetes, una definición de recurso personalizada (CRD) que proporciona el proyecto de código abierto de Kubernetes. De manera predeterminada, la CRD del recurso Aplicación no está habilitada en Kubernetes. Algunos servicios de GKE, como de Marketplace y el Deployment de Aplicación, instalan la CRD de Aplicación, pero, si no usas ninguno de esos servicios, el CRD de Aplicación no estará disponible de forma predeterminada.
Para instalar la CRD de Aplicación, haz lo siguiente:
En Cloud Shell, aplica la CRD de Aplicación una vez en cada clúster:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/application/master/deploy/kube-app-manager-aio.yaml
(Opcional) Una vez que se complete el comando, visualiza la CRD de Aplicación en el clúster:
kubectl get crd
El siguiente resultado es una lista de CRD instaladas, incluida
applications.app.k8s.io
:NAME CREATED AT applications.app.k8s.io 2020-07-24T19:32:20Z backendconfigs.cloud.google.com 2020-07-24T19:28:40Z managedcertificates.networking.gke.io 2020-07-24T19:28:57Z scalingpolicies.scalingpolicy.kope.io 2020-07-24T19:28:57Z updateinfos.nodemanagement.gke.io 2020-07-24T19:28:57Z
Incluye recursos de la aplicación
Ahora que el CRD del recurso Application está disponible en el clúster, el siguiente paso es crear y, luego, implementar una instancia del recurso Application.
Debido a que el recurso Application es un recurso de Kubernetes, tiene una estructura similar a otros recursos de Kubernetes, incluidos campos y opciones para apiVersion
, kind
, metadata
y spec
:
apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
name: ...
spec:
...
En las siguientes secciones, trabajarás con varios campos y opciones que están disponibles en el recurso Application.
Crea el recurso Application base
Puedes agregar el recurso de Aplicación a cualquier conjunto existente de recursos. En este instructivo, comenzarás con un recurso vacío y completarás cada sección.
En Cloud Shell, crea y edita un archivo
application.yaml
en el directoriokubernetes-manifests
:touch kubernetes-manifests/application.yaml edit kubernetes-manifests/application.yaml
Se abre el editor de Cloud Shell y se muestra un archivo en blanco.
Pega las siguientes líneas para definir tu primera aplicación:
apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos"
En la barra de menú de Cloud Shell, haz clic en Abrir terminal.
En Cloud Shell, aplica el siguiente recurso:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página Aplicaciones.
En la página Aplicaciones, se muestran los recursos que agregaste:
Incluye recursos por componente
En la página Aplicaciones, se muestra la aplicación de Bank of Anthos. Si haces clic en bank-of-anthos en el campo Nombre, verás información básica sobre la aplicación:
Puedes agregar varios tipos de componentes para que se muestren en la consola de Google Cloud. Por ejemplo, para mostrar objetos Services, Deployments y StatefulSets, edita la sección componentKinds
de la definición application.yaml
, de la siguiente manera:
spec:
componentKinds:
- group: v1
kind: Service
- group: apps
kind: Deployment
- group: v1
kind: StatefulSet
En estos pasos, debes agregar estos componentes a la definición del recurso de Bank of Anthos:
En la barra de menú de Cloud Shell, haz clic en Abrir editor.
En el editor de Cloud Shell, reemplaza el contenido del archivo
kubernetes-manifests/application.yaml
y pega lo siguiente:apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" spec: componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet
La adición de la sección
spec
agregaService
,Deployment
yStatefulSet
a la definición de la aplicación.En Cloud Shell, aplica el siguiente recurso:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Ir a los detalles de Bank of Anthos
Se muestran los componentes de un tipo determinado:
Filtra recursos con selectores
En este punto del instructivo, la lista de componentes incluye todos los recursos para ambas aplicaciones de muestra del conjunto de componentes definido desde el espacio de nombres completo. Por ejemplo, el siguiente diagrama muestra el Service nginx
de la aplicación de muestra Nginx y el Deployment transactionhistory
de la aplicación de muestra Bank of Anthos:
A fin de garantizar que solo se muestren los recursos de una aplicación, por ejemplo, para la aplicación del Bank of Anthos, puedes usar selectores para identificar recursos específicos. Para ver cómo funcionan los selectores, agrega una etiqueta a tu recurso en los siguientes pasos:
En Cloud Shell, abre el archivo
frontend.yaml
:edit kubernetes-manifests/frontend.yaml
En el editor de Cloud Shell, pega la siguiente
label
de entrada después de la línea 18:labels: app.kubernetes.io/name: "bank-of-anthos"
La sección
metadata
se ve de la siguiente manera:apiVersion: apps/v1 kind: Deployment metadata: name: frontend labels: app.kubernetes.io/name: "bank-of-anthos" spec:
El archivo
application.yaml
completo se ve de la siguiente manera:apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet
En Cloud Shell, aplica los siguientes recursos:
kubectl apply -f kubernetes-manifests/
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Ir a los detalles de Bank of Anthos
Se muestra el único recurso que coincide con una etiqueta específica:
Aplica etiquetas a todos los recursos con kustomize
Aplicar de forma manual las etiquetas a cada recurso en una aplicación puede ser una tarea tediosa.
En los siguientes pasos, se muestra cómo usar kustomize
para agregar etiquetas a todos los recursos de forma eficiente:
En Cloud Shell, descarga
kustomize
:curl -s "https://raw.githubusercontent.com/\ kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
Crea y edita un archivo
kustomization.yaml
:touch kubernetes-manifests/kustomization.yaml edit kubernetes-manifests/kustomization.yaml
En el editor de Cloud Shell, agrega las siguientes líneas a
kustomization.yaml
:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - accounts-db.yaml - application.yaml - balance-reader.yaml - config.yaml - contacts.yaml - frontend.yaml - ledger-db.yaml - ledger-writer.yaml - loadgenerator.yaml - transaction-history.yaml - userservice.yaml commonLabels: app.kubernetes.io/name: "bank-of-anthos"
En esta definición
kustomization.yaml
, debes especificar a qué recursos aplicar las modificaciones y qué modificaciones realizar. En este caso, debes especificar que todos los recursos tengan una etiqueta común deapp.kubernetes.io/name: "bank-of-anthos"
.En Cloud Shell, borra los recursos anteriores:
kubectl delete -f kubernetes-manifests/
Es necesario borrar los recursos anteriores antes de aplicar los nuevos que se especifican en
kustomization.yaml
.Aplica los recursos con la marca
kustomize
en lugar de la marcafile
:./kustomize build kubernetes-manifests/ | kubectl apply -f -
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Ir a los detalles de Bank of Anthos
En la página de detalles, se muestran los recursos de la aplicación de muestra del Bank of Anthos y no los de la aplicación de Nginx de muestra:
Agrega metadatos útiles en la pantalla
Puedes mostrar metadatos personalizados de una aplicación en la consola de Google Cloud. Puedes incluir qué hace la aplicación, quién es el propietario, dónde encontrar más información sobre ella y cómo acceder a ella. Este tipo de información es valiosa para varios casos de uso, por ejemplo, si administras varias aplicaciones dentro de tu organización.
En las siguientes secciones, se describen algunos de los metadatos que puedes agregar.
Agrega una descripción y documentación
Puedes agregar una descripción y los vínculos que aparecen en el panel Información de la aplicación. Para acceder a este panel desde la página Detalles, haz clic en Mostrar panel de información.
Para mostrar información en este panel, define elementos como description
y links
en la sección descriptor
de tu archivo application.yaml
.
descriptor:
description:
links:
- description:
url:
Para actualizar la sección descriptor
, haz lo siguiente:
En el editor de Cloud Shell, reemplaza el contenido del archivo
application.yaml
con lo siguiente:apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos
En Cloud Shell, implementa el recurso Application:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Para revisar las actualizaciones, haz clic en Mostrar panel de información.
En el panel Información de la aplicación, se muestra una descripción y una lista de documentos:
Incluye el tipo de software
La página Aplicaciones incluye un campo (Software) para el tipo de software en la lista de aplicaciones. Puedes personalizar este campo para organizar y clasificar tus aplicaciones según tus necesidades. Por ejemplo, puedes indicar si el software es interno o externo. O bien, si tienes varias apps compiladas a partir de un tipo de base compartida, puedes indicar qué tipo de base implementa una aplicación.
Para agregar una descripción personalizada al tipo de software, usa el campo type
en la sección descriptor
del archivo application.yaml
:
descriptor:
type: External App
Puedes mostrar el valor de type
como un hipervínculo en la consola de Google Cloud. Especifica la URL para el hipervínculo con la primera entrada de la sección links
. En los siguientes pasos, actualizarás la sección links
de la siguiente manera:
links:
- description: 'Bank of Anthos GitHub Repository'
url: https://github.com/GoogleCloudPlatform/bank-of-anthos
En el editor de Cloud Shell, pega lo siguiente y reemplaza el contenido de
application.yaml
.apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos
En Cloud Shell, implementa el recurso Application:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página Aplicaciones.
Aplicación externa se muestra en el campo Software:
Incluye una versión de la aplicación
La página principal Aplicaciones incluye un campo para la versión. En la práctica, el valor de este campo se actualiza de manera programática para hacer referencia a la versión real implementada.
Para propagar el campo de versión, incluye el campo version
en descriptor
, como en el siguiente ejemplo:
descriptor:
type: External App
version: "2.3.2"
En los siguientes pasos, agregarás un campo para la versión de la aplicación.
En el editor de Cloud Shell, reemplaza el contenido del archivo
application.yaml
y pega lo siguiente:apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos
En Cloud Shell, implementa el recurso Application:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página Aplicaciones.
El campo Versión de la aplicación del Bank of Anthos se muestra como 2.3.2:
Agrega detalles del encargado de mantenimiento
En este paso, agregarás texto estático personalizado a la sección principal de la página Aplicaciones. Debes especificar estos detalles en la sección info
del archivo application.yaml
de la siguiente manera:
info: - name: LABEL value: STRING
A fin de incluir valores estáticos, debes proporcionar detalles para LABEL
y STRING
en la sección info
. Por ejemplo, puedes ingresar Owner
para name
, y John Smith
para value
.
En el editor de Cloud Shell, pega lo siguiente y reemplaza el contenido de
application.yaml
.apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos info: - name: Owner value: John Smith
En Cloud Shell, implementa el recurso Application:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Ir a los detalles de Bank of Anthos
En la página de detalles, se incluye un propietario para la aplicación Bank of Anthos:
Permite exponer un extremo de la aplicación
Además de los valores estáticos, puedes exponer los valores dinámicos desde el objeto Deployment. En los pasos siguientes, revelarás la dirección IP del balanceador de cargas para que cualquier persona que vea la página de detalles de la aplicación pueda acceder a la aplicación directamente.
Para mostrar este valor, usa la especificación serviceRef
. Otras especificaciones válidas son configMapKeyRef
, ingressRef
y secretKeyRef
.
En la especificación serviceRef
, debes incluir estos valores dinámicos mediante el tipo Reference
. Para este instructivo, la especificación de serviceRef
es la siguiente:
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION
Puedes reemplazar los siguientes valores:
LABEL
: Una etiqueta que describe una instancia de referencia específica, por ejemplo,App Frontend URL
SERVICE_NAME
: el nombre que identifica el Service$mdash; por ejemplo,frontend
DATA_LOCATION
: la ubicación de los datos en el Service; por ejemplo,status.loadBalancer.ingress[0].ip
Las especificaciones serviceRef
y ingressRef
también admiten el elemento path
. Si la URL requiere detalles relacionados con la ruta de acceso, incluye esos detalles en el campo path
:
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION path: /wp-admin
La dirección IP del extremo y la ruta se concatenan; por ejemplo, 35.202.90.0/wp-admin
.
También puedes forzar el uso de HTTP o HTTPS mediante el campo protocol
de la siguiente manera:
info: - name: LABEL type: Reference valueFrom: serviceRef: name: SERVICE_NAME fieldPath: DATA_LOCATION path: /wp-admin protocol: HTTPS
Estos detalles producen la siguiente URL:
https://35.202.90.0/wp-admin
En los pasos siguientes, usas serviceRef
para exponer la dirección IP del balanceador de cargas del Service correspondiente a la aplicación Bank of Anthos:
En el editor de Cloud Shell, reemplaza el contenido del archivo
application.yaml
por lo siguiente:apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos info: - name: Owner value: John Smith - name: App Frontend URL type: Reference valueFrom: serviceRef: name: frontend fieldPath: status.loadBalancer.ingress[0].ip protocol: HTTPS
En Cloud Shell, implementa el recurso Application:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Ir a los detalles de Bank of Anthos
En la página de detalles, se incluye una dirección IP de extremo para la aplicación Bank of Anthos:
Proporciona credenciales de acceso
Como se mencionó antes, puedes exponer los Secrets de Kubernetes a través de la consola de Google Cloud mediante el elemento secretKeyRef
. En este instructivo, proporcionas un nombre de usuario y una contraseña al operador para que pueda acceder a la aplicación.
En Cloud Shell, crea el Secret:
kubectl create secret generic boa-access --from-literal=boa-user=testuser --from-literal=boa-pass=password
En el editor de Cloud Shell, reemplaza lo que se encuentra en el archivo
application.yaml
y pega lo siguiente. Esta actualización incluye referencias al nombre de usuario y la contraseña en la anotaciónsecretKeyRef
.apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" spec: selector: matchLabels: app.kubernetes.io/name: "bank-of-anthos" componentKinds: - group: v1 kind: Service - group: apps kind: Deployment - group: v1 kind: StatefulSet descriptor: type: External App version: "2.3.2" description: |- This application simulates a bank's payment processing network using [Anthos](/anthos/). Bank of Anthos allows users to create artificial accounts and simulate transactions between accounts. Bank of Anthos was developed to create an end-to-end sample demonstrating Anthos best practices. links: - description: 'About Anthos on GCP' url: /anthos/ - description: 'Bank of Anthos GitHub Repository' url: https://github.com/GoogleCloudPlatform/bank-of-anthos info: - name: Owner value: John Smith - name: App Frontend URL type: Reference valueFrom: serviceRef: name: frontend fieldPath: status.loadBalancer.ingress[0].ip protocol: HTTPS - name: TestUser username type: Reference valueFrom: secretKeyRef: name: boa-access key: boa-user - name: TestUser password type: Reference valueFrom: secretKeyRef: name: boa-access key: boa-pass
En Cloud Shell, implementa el recurso Application:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Haz clic en Vista previa de los datos secretos. Se revelan el nombre de usuario y la contraseña:
La capacidad de revelar datos de Secrets puede ser una característica útil para tus equipos de operaciones. Sin embargo, la capacidad de ver estos Secrets se rige por los permisos de acceso de Identity and Access Management (IAM) de la página de detalles de GKE. Cualquier persona con permisos para ver clústeres también puede ver los Secrets, por lo que es importante que consideres cuidadosamente lo que expones.
Agrega un ícono de la aplicación
Para que tu aplicación se destaque, puedes incluir un logotipo que se muestra en la lista de aplicaciones y en tu página de detalles. Para incluir un logotipo, especifica el URI de datos de la imagen en la anotación kubernetes-engine.cloud.google.com/icon
.
La conversión de una imagen en un URI de datos no se incluye en este instructivo.
Sin embargo, una Búsqueda de Google de “convertir imagen en URI de datos” muestra varias utilidades que pueden ayudarte a producir la string de datos de una imagen. Debido a que el URI de los datos de la imagen que se usa en esta sección es tan largo, no es práctico incluirlo en el instructivo. El URI de datos completo se puede ver en el archivo application.yaml
completo.
La string de URI de los datos debe comenzar de la siguiente manera: data:image/png;base64,iVBORw0KGgoAAAANSUhEUg....
y termina con K5CYII=
. Asegúrate de no incluir comillas simples ni caracteres HTML.
El archivo application.yaml
completo está disponible como gist a modo de referencia.
Para agregar un ícono, actualiza la sección metadata
de application.yaml
:
Copia el siguiente código:
annotations: kubernetes-engine.cloud.google.com/icon: >- data:image/png;base64,DATA_URI
Reemplaza
DATA_URI
por la string que se encuentra en el archivoapplication.yaml
completo al que se hizo referencia antes.En el editor de Cloud Shell, pega el código que copiaste después de la sección
labels
en la secciónmetadata
deapplication.yaml
.Esa sección de
application.yaml
es similar a la siguiente, en la queDATA_URI
representa el valor del URI de datos.apiVersion: app.k8s.io/v1beta1 kind: Application metadata: name: "bank-of-anthos" labels: app.kubernetes.io/name: "bank-of-anthos" annotations: kubernetes-engine.cloud.google.com/icon: >- data:image/png;base64,DATA_URI spec:
En Cloud Shell, implementa el recurso Application:
kubectl apply -f kubernetes-manifests/application.yaml
En la consola de Google Cloud, ve a la página Aplicaciones.
Se muestra un logotipo en la lista de aplicaciones:
En la consola de Google Cloud, ve a la página de detalles de la aplicación Bank of Anthos.
Ir a los detalles de Bank of Anthos
Se muestra un logotipo en el encabezado de la página de detalles:
Limpia
Para evitar que se apliquen cargos a la cuenta de Google Cloud por los recursos que se usaron en este instructivo, puedes borrar el proyecto de Google Cloud que creaste para este instructivo.
Borra el proyecto
- En la consola de Google Cloud, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
- Revisa otros ejemplos de archivos
application.yaml
en la carpeta de Kubernetes del repositorio de GitHubclick-to-deploy
. Busca otros archivosapplication.yaml
enchart/<application>/templates/
para las diferentes apps, por ejemplo; como se muestra en este archivo. - Usa las implementaciones de Marketplace para las soluciones de implementación en un clic de Google para GKE.
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.