Kubernetes Get Relations
Resumo
- Receber informações sobre a topologia do cluster, usando autenticação.
Requisitos
- Kubernetes 1.16 ou superior.
- Versões mais antigas do Kubernetes dependerão da compatibilidade regressiva oferecida pelo Kubernetes.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
host | string | | Fornece a URL para acessar a API. Também pode ser especificada via variável de ambiente K8S_AUTH_HOST. |
api_key | string | | Token usado para autenticar a API. Também pode ser especificada via variável de ambiente K8S_AUTH_API_KEY. |
kubeconfig | string | | Caminho para um arquivo de config Kubernetes. Se não forcecido, e não forcecido nenhuma outra opção de conecção, o cliente openshift vai tentar carregar a configuração default de: I(~/.kube/config.json). Também pode ser especificada via variável de ambiente K8S_AUTH_KUBECONFIG. |
context | string | | Nome do contexto encotrado no arquivo de config. Também pode ser especificada via variável de ambiente K8S_AUTH_CONTEXT. |
username | string | | Fornece um username para autenticar a API. Também pode ser especificada via variável de ambiente K8S_AUTH_USERNAME. Nota: esse parâmetro funciona apenas com os clusters configurados para usar HTTP Basic Auth. Se seu cluster tem uma forma de configuração diferente (exemplo: OAuth2 in OpenShift), essa opção não funcioanará como esperado e você devera olhar o modulo M(community.odk.k8s_auth), para procurar o que você precisa. |
password | string | | Fornece um password para autenticar a API. Também pode ser especificada via variável de ambiente K8S_AUTH_PASSWORD. Leia a nota de username, esta também se aplica ao password. |
client_cert | path | | Caminho para um certificado usado para autenticar a API. Também pode ser especificada via variável de ambiente K8S_AUTH_CERT_FILE. |
client_key | path | | Caminho para um key file usado para autenticar a API. Também pode ser especificada via variável de ambiente K8S_AUTH_KEY_FILE. |
ca_cert | path | | Caminho para um certificado CA usado para autenticar a API. Toda a cadeia de certificados deve ser fornecida para evitar validation erros. Também pode ser especificada via variável de ambiente K8S_AUTH_SSL_CA_FILE. |
validate_certs | boolean |
| Verificar ou não os certificados SSL do server da API. Também pode ser especificada via variável de ambiente K8S_AUTH_VERIFY_SSL. |
proxy | string | | URL de um proxy HTTP para ser usado em uma conecção. Também pode ser especificada via variável de ambiente K8S_AUTH_PROXY. Nota: esse modulo não usa as settings de proxy tipicas do ambiente (exemplo: HTTP_PROXY). |
proxy_headers | dict | | Header usado para o proxy HTTP. Documentação pode ser encontrada aqui: U(https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html?highlight=proxy_headers#urllib3.util.make_headers). |
persist_config | boolean |
| Salvar ou não os tokens do kube config. Também pode ser especificada via variável de ambiente K8S_AUTH_PERSIST_CONFIG. Nota: quando o context k8s está usando credenciais de um usuário com as tokens atualizadas (como oidc ou gke/gcloud auth),o token é atualizado pelo cliente k8s library do python mas não é salvo por default. Então o antigo token pode expirar e o próximo auth pode falhar. Mudar essa setting flag para True irá falara para o cliente k8s salvar o novo token para o kube config file. Nota 2: a versão atual do cliente k8s library do python ainda não suporta o valor True para a setting flag. "A solução para esse cliente k8s library do python está em: https://github.com/kubernetes-client/python-base/pull/169" |
app_labels | list | ['kubernetes.io/name', 'kubernetes.io/part-of', 'app', 'application', 'k8s-app'] | Lista de padrões para identificar aplicações em etiquetas |
namespaces | list | aliases: [ namespace_filter ] | Lista de namespaces para filtrar os objetos. |
Subcampos da opção proxy_headers
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
proxy_basic_auth | string | | Username (separado por hífen):password para o proxy basic authentication header. Também pode ser especificada via variável de ambiente K8S_AUTH_PROXY_HEADERS_PROXY_BASIC_AUTH. |
basic_auth | string | | Username (separado por hífen):password para o basic authentication header. Também pode ser especificada via variável de ambiente K8S_AUTH_PROXY_HEADERS_BASIC_AUTH. |
user_agent | string | | String representando o user-agent que você quer, como foo/1.0. Também pode ser especificada via variável de ambiente K8S_AUTH_PROXY_HEADERS_USER_AGENT. |
Notas:
- Os parametros kubeconfig e o context devem ser definidos juntos, assim como o username e password.
- Os pararametros api_key, username (ou password) e kubeconfig não devem ser definidos juntos no mesmo arquivo
Exemplos
- name: Obtenha uma lista de todos os objetos de serviço usando token
kubernetes_get_relations:
host: https://host-ip:port
validate_certs: false
api_key: api-key
register: result
- name: Obtenha uma lista de todos os objetos de serviço usando nome de usuário e senha
kubernetes_get_relations:
host: https://host-ip:port
validate_certs: false
username: username
password: password
register: result
- name: Obtenha uma lista de todos os objetos de serviço usando o arquivo kubeconfig
kubernetes_get_relations:
host: https://host-ip:port
validate_certs: false
context: nome do contexto do kubeconfig
kubeconfig: /PATH/to/kubeconfig
register: result
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
relations | dict | sucesso | Todas as relações entre pods e services |
namespaces | list | sucesso | Todos os namespaces |
nodes | dict | sucesso | Grupo de objetos em um cluster. Contém nome, tipo, namespace, Creation_data e seletores. |
connection_count | int | sucesso | connection count |
namespaces_count | int | sucesso | namespaces count |
node_count | int | sucesso | node count |