KS8 Log
Resumo
- Use o cliente Kubernetes Python para executar operações de leitura nos endpoints de log do K8s.
- Autentique usando um arquivo de configuração, certificados, senha ou token.
- Suporta modo de verificação.
- Análogo a `kubectl logs` ou `oc logs`
Requisitos
Os requisitos abaixo são necessários no host que executa este módulo.
- kubernetes >= 12.0.0
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários | |
|---|---|---|---|---|
api_key | string | | Token usado para autenticar com a API. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_API_KEY. | |
api_version | string | default: V1 | Use para especificar a versão da API. Use para criar, excluir ou descobrir um objeto sem fornecer uma definição de recurso completa. Use em conjunto com kind , name e namespace para identificar um objeto específico. Se a definição de recurso for fornecida, o valor *apiVersion de *resource_definition substituirá essa opção. | |
ca_cert | path | | Caminho para um certificado CA usado para autenticação com a API. A cadeia de certificados completa deve ser fornecida para evitar erros de validação de certificados. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_SSL_CA_CERT. | |
client_cert | path | | Caminho para um certificado usado para autenticação com a API. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_CERT_FILE. | |
client_key | path | | Caminho para um arquivo de chave usado para autenticação com a API. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_KEY_FILE. | |
container | string | | Use para especificar o contêiner dentro de um pod do qual obter o log. Se houver apenas um contêiner, o padrão será esse contêiner. Se houver mais de um container, esta opção é necessária. | |
context | string | | O nome de um contexto encontrado no arquivo de configuração. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_CONTEXT. | |
host | string | | Forneça um URL para acessar a API. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_HOST. | |
impersonate_groups | list / elements=string | | Grupo(s) a representar para a operação. Também pode ser especificado por meio do ambiente K8S_AUTH_IMPERSONATE_GROUPS. Exemplo: Grupo1,Grupo2 | |
impersonate_user | string | | Nome de usuário para representar para a operação. Também pode ser especificado por meio do ambiente K8S_AUTH_IMPERSONATE_USER. | |
kind | string | default: "Pod" | Use para especificar um modelo de objeto. Use em conjunto com api_version , name e namespace para identificar um objeto específico. Se estiver usando label_selectors , não pode ser substituído. | |
kubeconfig | row | | Caminho para um arquivo de configuração existente do Kubernetes. Se não for fornecido e nenhuma outra opção de conexão for fornecida, o cliente Kubernetes tentará carregar o arquivo de configuração padrão de ~/.kube/config . Também pode ser especificado por meio da variável de ambiente K8S_AUTH_KUBECONFIG. A configuração do kubernetes pode ser fornecida como dicionário. | |
label_selectors | list / elements=string | | Lista de seletores de rótulos a serem usados para filtrar resultados Apenas um dos name ou label_selectors pode ser fornecido. | |
name | string | | Use para especificar um nome de objeto. Use em conjunto com api_version, kind e namespace para identificar um objeto específico. Apenas um dos name ou label_selectors pode ser fornecido. | |
namespace | string | | Use para especificar um namespace de objeto. Útil ao criar, excluir ou descobrir um objeto sem fornecer uma definição de recurso completa. Use em conjunto com api_version , kind e name para identificar um objeto específico. | |
no_proxy | string | | A lista separada por vírgulas de hosts/domínios/IP/CIDR que não devem passar pelo proxy. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_NO_PROXY. Observe que este módulo não seleciona configurações de proxy típicas do ambiente (por exemplo, NO_PROXY). | |
password | string | | Forneça uma senha para autenticação com a API. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_PASSWORD. Por favor, leia a descrição da usernameopção para uma discussão sobre quando esta opção é aplicável. | |
persist_config | boolean | Escolhas:
| Se deve ou não salvar os tokens de atualização de configuração do kube. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_PERSIST_CONFIG. Quando o contexto k8s está usando credenciais de usuário com tokens de atualização (como oidc ou gke/gcloud auth), o token é atualizado pela biblioteca do cliente k8s python, mas não é salvo por padrão. Portanto, o token de atualização antigo pode expirar e a próxima autenticação pode falhar. Definir esse sinalizador como true instruirá o cliente k8s python a salvar o novo token de atualização no arquivo de configuração do kube. | |
proxy | string | | A URL de um proxy HTTP a ser usado para a conexão. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_PROXY.} Observe que este módulo não seleciona configurações de proxy típicas do ambiente (por exemplo, HTTP_PROXY). | |
proxy_headers | dictionary | | O cabeçalho usado para o proxy HTTP. A documentação pode ser encontrada aqui https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html?highlight%3Dproxy_headers#urllib3.util.make_headers . | |
since_seconds | string | | Um tempo relativo em segundos antes do horário atual a partir do qual mostrar logs. | |
username | string | | Forneça um nome de usuário para autenticação com a API. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_USERNAME. Observe que isso só funciona com clusters configurados para usar HTTP Basic Auth. Se o seu cluster tiver uma forma diferente de autenticação (por exemplo, OAuth2 no OpenShift), esta opção não funcionará como esperado e você deve procurar no módulo k8s_auth , pois isso pode fazer o que você precisa. | |
validate_certs | boolean | Escolhas:
| Se deve ou não verificar os certificados SSL do servidor API. Também pode ser especificado por meio da variável de ambiente K8S_AUTH_VERIFY_SSL. |
Subcampos da opção proxy_headers
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
basic_auth | string | | Nome de usuário separado por dois pontos: senha para cabeçalho de autenticação básica. Também pode ser especificado por meio do ambiente K8S_AUTH_PROXY_HEADERS_BASIC_AUTH. |
proxy_basic_auth | string | | Nome de usuário separado por dois-pontos:senha para o cabeçalho de autenticação básica do proxy. Também pode ser especificado por meio do ambiente K8S_AUTH_PROXY_HEADERS_PROXY_BASIC_AUTH. |
user_agent | string | | String que representa o user-agent que você deseja, como foo/1.0. Também pode ser especificado por meio do ambiente K8S_AUTH_PROXY_HEADERS_USER_AGENT. |
Notas
Observação
- Para evitar erros de validação de certificado SSL quando True validate_certs, a cadeia de certificados completa para o servidor API deve ser fornecida por meio ou no arquivo kubeconfig. ca_cert
Exemplos
- name: Obter um log de um pod
k8s_log:
name: example-1
namespace: testing
register: log
# Isso obterá o log do primeiro Pod encontrado correspondente ao seletor
- name: Registrar um pod correspondente a um seletor de rótulo
k8s_log:
namespace: testing
label_selectors:
- app=example
register: log
# Isso obterá o log de um único pod gerenciado por esta implantação
- name: Obter um log de uma implantação
k8s_log:
api_version: apps/v1
kind: Deployment
namespace: testing
name: example
since_seconds: "4000"
register: log
# Isso obterá o log de um único pod gerenciado por este DeploymentConfig
- name: Obter um log de um DeploymentConfig
k8s_log:
api_version: apps.openshift.io/v1
kind: DeploymentConfig
namespace: testing
name: example
register: logValores de retorno
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
log | string | Sucesso | O log de texto do objeto |
log_lines | list / elements=string | Sucesso | O log do objeto, dividido em novas linhas |