Ya no tienes que investigar más por todo internet ya que estás al lugar perfecto, contamos con la solución que necesitas hallar pero sin liarte.
Nota
Este complemento es parte del colección kubernetes.core (versión 1.1.1).
Para instalarlo use: ansible-galaxy collection install kubernetes.core
.
Para usarlo en un libro de jugadas, especifique: kubernetes.core.k8s_info
.
- Sinopsis
- Requisitos
- Parámetros
- Notas
- Ejemplos de
- Valores devueltos
Sinopsis
- Utilice el cliente OpenShift Python para realizar operaciones de lectura en objetos K8s.
- Acceso a la gama completa de API de K8.
- Autentíquese mediante un archivo de configuración, certificados, contraseña o token.
- Admite el modo de verificación.
- Este módulo se llamó
k8s_facts
antes de Ansible 2.9. El uso no cambió.
Nota
Este módulo tiene un correspondiente complemento de acción.
Requisitos
Los siguientes requisitos son necesarios en el host que ejecuta este módulo.
- pitón> = 2.7
- desplazamiento abierto> = 0,6
- PyYAML> = 3,11
Parámetros
Parámetro | Opciones / Valores predeterminados | Comentarios | |
---|---|---|---|
Clave APIcuerda | Token utilizado para autenticarse con la API. También se puede especificar mediante la variable de entorno K8S_AUTH_API_KEY. | ||
api_versioncuerda | Defecto: “v1” |
Úselo para especificar la versión de API. Úselo para crear, eliminar o descubrir un objeto sin proporcionar una definición de recurso completa. Úselo junto con amable, nombre, y espacio de nombres para identificar un objeto específico. definición de recurso se proporciona, el apiVersion valor de la resource_definition anulará esta opción. alias: api, versión |
|
ca_certsendero | Ruta a un certificado de CA utilizado para autenticarse con la API. Se debe proporcionar la cadena de certificados completa para evitar errores de validación de certificados. También se puede especificar mediante la variable de entorno K8S_AUTH_SSL_CA_CERT. alias: ssl_ca_cert |
||
client_certsendero | Ruta a un certificado utilizado para autenticarse con la API. También se puede especificar mediante la variable de entorno K8S_AUTH_CERT_FILE. alias: cert_file |
||
clave_clientesendero | Ruta a un archivo de clave utilizado para autenticarse con la API. También se puede especificar mediante la variable de entorno K8S_AUTH_KEY_FILE. alias: key_file |
||
contextocuerda | El nombre de un contexto que se encuentra en el archivo de configuración. También se puede especificar mediante la variable de entorno K8S_AUTH_CONTEXT. | ||
field_selectorslista / elementos = cadena | Lista de selectores de campo que se utilizarán para filtrar los resultados | ||
anfitrióncuerda | Proporcione una URL para acceder a la API. También se puede especificar mediante la variable de entorno K8S_AUTH_HOST. | ||
amablecuerda / requerido | Úselo para especificar un modelo de objeto. Úselo para crear, eliminar o descubrir un objeto sin proporcionar una definición de recurso completa. Úselo junto con api_version, nombre, y espacio de nombres para identificar un objeto específico. definición de recurso se proporciona, el amable valor de la resource_definition anulará esta opción. | ||
kubeconfigsendero | Ruta a un archivo de configuración de Kubernetes existente. Si no se proporciona, y no se proporcionan otras opciones de conexión, el cliente openshift intentará cargar el archivo de configuración predeterminado desde ~ / .kube / config.json. También se puede especificar mediante la variable de entorno K8S_AUTH_KUBECONFIG. | ||
label_selectorslista / elementos = cadena | Lista de selectores de etiquetas que se utilizarán para filtrar los resultados | ||
nombrecuerda | Úselo para especificar un nombre de objeto. Úselo para crear, eliminar o descubrir un objeto sin proporcionar una definición de recurso completa. Úselo junto con api_version, amable y espacio de nombres para identificar un objeto específico. definición de recurso se proporciona, el metadata.name valor de la resource_definition anulará esta opción. | ||
espacio de nombrescuerda | Úselo para especificar un espacio de nombres de objeto. Útil al crear, eliminar o descubrir un objeto sin proporcionar una definición de recurso completa. api_version, amable, y nombre para identificar un objeto específico. definición de recurso se proporciona, el metadata.namespace valor de la resource_definition anulará esta opción. | ||
contraseñacuerda | Proporcione una contraseña para autenticarse con la API. También se puede especificar a través de la variable de entorno K8S_AUTH_PASSWORD. Lea la descripción de la username opción para una discusión de cuándo esta opción es aplicable. |
||
persist_configbooleano |
|
Si guardar o no los tokens de actualización de configuración de kube. También se puede especificar a través de la variable de entorno K8S_AUTH_PERSIST_CONFIG. Cuando el contexto k8s usa credenciales de usuario con tokens de actualización (como oidc o gke / gcloud auth), la biblioteca cliente de python k8s actualiza el token, pero no se guarda de manera predeterminada. Por lo tanto, el token de actualización anterior puede caducar y la siguiente autenticación puede fallar. Establecer este indicador en verdadero le dirá al cliente de k8s python que guarde el nuevo token de actualización en el archivo de configuración de kube. Por defecto es falso. Tenga en cuenta que la versión actual de la biblioteca cliente de k8s python no admite la configuración de este indicador en Verdadero todavía. La solución para esta biblioteca de Python k8s está aquí: https://github.com/kubernetes-client/python-base/pull/169 | |
apoderadocuerda | La URL de un proxy HTTP que se utilizará para la conexión. También se puede especificar a través de la variable de entorno K8S_AUTH_PROXY. Tenga en cuenta que este módulo no recoge la configuración de proxy típica del entorno (por ejemplo, HTTP_PROXY). | ||
nombre de usuariocuerda | Proporcione un nombre de usuario para autenticarse con la API. También se puede especificar a través de la variable de entorno K8S_AUTH_USERNAME. Tenga en cuenta que esto solo funciona con clústeres configurados para usar HTTP Basic Auth. Si su clúster tiene una forma diferente de autenticación (por ejemplo, OAuth2 en OpenShift), esta opción no funcionará como se esperaba y debe buscar en la k8s_auth módulo, ya que podría hacer lo que necesita. |
||
validate_certsbooleano |
|
Si verificar o no los certificados SSL del servidor API. También se puede especificar mediante la variable de entorno K8S_AUTH_VERIFY_SSL. alias: verify_ssl |
|
Esperebooleano |
|
Ya sea para esperar a que ciertos tipos de recursos terminen en el estado deseado. De forma predeterminada, el módulo sale una vez que Kubernetes ha recibido la solicitud. state=present por Deployment , DaemonSet y Pod , y para state=absent para todo tipo de recursos. Para los tipos de recursos sin una implementación, wait regresa inmediatamente a menos que wait_condition Está establecido. |
|
condición_de_esperadiccionario | Especifica una condición personalizada sobre el estado a esperar. wait no está establecido o está establecido en False. |
||
razóncuerda | El valor del campo de motivo en su condición deseada Por ejemplo, si un Deployment está en pausa, el Progressing type tendrá el DeploymentPaused Las posibles razones de una condición son específicas de cada tipo de recurso en Kubernetes. Consulte la documentación de la API del campo de estado de un recurso determinado para ver las posibles opciones. |
||
estadocuerda |
|
El valor del campo de estado en la condición deseada. Por ejemplo, si un Deployment está en pausa, el Progressing type tendrá el Unknown estado. |
|
escribecuerda | El tipo de condición por la que esperar. Por ejemplo, el Pod recurso establecerá el Ready condición (entre otras). Requerido si está especificando una wait_condition .Si se deja vacío, el wait_condition Los tipos posibles de una condición son específicos de cada tipo de recurso en Kubernetes. Consulte la documentación de la API del campo de estado de un recurso determinado para ver las posibles opciones. |
||
esperar_dormirentero | Defecto: 5 |
Número de segundos para dormir entre controles. | |
wait_timeoutentero | Defecto: 120 |
Cuánto tiempo en segundos esperar a que el recurso termine en el estado deseado. wait no está configurado. |
Notas
Nota
- El cliente OpenShift Python envuelve el cliente Python de K8s, proporcionando acceso completo a todos los APIS y modelos disponibles en ambas plataformas. Para obtener detalles de la versión de API e información adicional, visite https://github.com/openshift/openshift-restclient-python
- Para evitar errores de validación del certificado SSL cuando
validate_certs
es Cierto, la cadena de certificados completa para el servidor API debe proporcionarse a través deca_cert
o en el archivo kubeconfig.
Ejemplos de
-name: Get an existing Service object kubernetes.core.k8s_info:api_version: v1 kind: Service name: web namespace: testing register: web_service -name: Get a list of all service objects kubernetes.core.k8s_info:api_version: v1 kind: Service namespace: testing register: service_list -name: Get a list of all pods from any namespace kubernetes.core.k8s_info:kind: Pod register: pod_list -name: Search for all Pods labelled app=web kubernetes.core.k8s_info:kind: Pod label_selectors:- app = web - tier in (dev, test) -name: Using vars while using label_selectors kubernetes.core.k8s_info:kind: Pod label_selectors:-"app = app_label_web "vars:app_label_web: web -name: Search for all running pods kubernetes.core.k8s_info:kind: Pod field_selectors:- status.phase=Running -name: List custom objects created using CRD kubernetes.core.k8s_info:kind: MyCustomObject api_version:"stable.example.com/v1"-name: Wait till the Object is created kubernetes.core.k8s_info:kind: Pod wait: yes name: pod-not-yet-created namespace: default wait_sleep:10wait_timeout:360
Valores devueltos
Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:
Llave | Devuelto | Descripción | |
---|---|---|---|
recursoscomplejo | éxito | El objeto (s) que existe | |
api_versioncuerda | éxito | El esquema versionado de esta representación de un objeto. | |
amablecuerda | éxito | Representa el recurso REST que representa este objeto. | |
metadatosdiccionario | éxito | Metadatos de objeto estándar. Incluye nombre, espacio de nombres, anotaciones, etiquetas, etc. | |
Especificacionesdiccionario | éxito | Atributos específicos del objeto. Variará según el api_version y amable. | |
estadodiccionario | éxito | Detalles del estado actual del objeto. |
Autores
- Will Thames (@willthames)
Si crees que te ha resultado de ayuda este post, agradeceríamos que lo compartas con más desarrolladores y nos ayudes a difundir nuestra información.