Glossário
Este glossário tem por objetivo ser uma lista padronizada e abrangente da terminologia do Kubernetes. Inclui termos técnicos específicos do K8s, além de termos mais gerais que fornecem um contexto útil.
Filtrar termos de acordo com suas tags
Clique nos [+] indicadores abaixo para uma maior explicação sobre um termo em particular.
A piece of code that intercepts requests to the Kubernetes API server prior to persistence of the object.
[+]Admission controllers are configurable for the Kubernetes API server and may be "validating", "mutating", or both. Any admission controller may reject the request. Mutating controllers may modify the objects they admit; validating controllers may not.
In Kubernetes, affinity is a set of rules that give hints to the scheduler about where to place pods.
[+]O agente de execução (runtime) de contêiner é o software responsável por executar os contêineres.
[+]O Kubernetes suporta diversos agentes de execução de contêineres: Docker, containerd, CRI-O, e qualquer implementação do Kubernetes CRI (Container Runtime Interface).
Um par de chave-valor (key-value) é usado para anexar metadados arbitrários não identificáveis a objetos.
[+]Os metadados em uma anotação podem ser pequenos ou grandes, estruturados ou não estruturados, e podem incluir caracteres não permitidos pelos rótulos. Clientes como ferramentas e bibliotecas podem recuperar esses metadados.
API-initiated eviction is the process by which you use the Eviction API to create an
[+]Eviction
object that triggers graceful pod termination.You can request eviction either by directly calling the Eviction API using a client of the kube-apiserver, like the
kubectl drain
command. When anEviction
object is created, the API server terminates the Pod.API-initiated evictions respect your configured
PodDisruptionBudgets
andterminationGracePeriodSeconds
.API-initiated eviction is not the same as node-pressure eviction.
- See API-initiated eviction for more information.
- A camada onde vários aplicativos em contêiner são executados. [+]
A camada onde vários aplicativos em contêiner são executados.
Uma pessoa que pode revisar e aprovar as contribuições do código Kubernetes.
[+]Embora a revisão de código esteja focada na qualidade e correção, a aprovação está focada na aceitação integral de uma contribuição. A aceitação inclui a retrocompatibilidade e compatibilidade futura, adesão a convenções de API e de flags, problemas sutis de desempenho e correção, interações com outras partes do sistema, etc. O status do aprovador tem escopo para uma parte código. Os aprovadores eram anteriormente referidos como mantenedores.
É uma pessoa responsável pelo projeto de alto nível de uma aplicação.
[+]Um arquiteto garante que a implementação de uma aplicação permita que ela interaja com seus componentes de maneira escalável e sustentável. São componentes em torno da aplicação: bancos de dados, infraestrutura de log e outros microsserviços.
Uma pessoa que projeta infraestrutura que envolve um ou mais clusters Kubernetes.
[+]Os arquitetos de clusters estão preocupados com as melhores práticas para sistemas distribuídos, por exemplo: alta disponibilidade e segurança.
O cAdvisor (Contêiner Advisor) fornece aos usuários de contêineres uma compreensão do uso dos recursos e das características de desempenho de seus contêineres em execução.
[+]É um daemon em execução que coleta, agrega, processa e exporta informações sobre contêineres em execução. Especificamente, para cada contêiner, ele mantém parâmetros de isolamento de recursos, uso histórico de recursos, histogramas de uso histórico completo de recursos e estatísticas de rede. Esses dados são exportados por contêiner e em toda a máquina.
A camada de agregação permite que você instale APIs adicionais no estilo Kubernetes em seu cluster.
[+]Depois de configurar o Servidor da API do Kubernetes para suportar APIs adicionais, você pode adicionar objetos
APIService
para obter a URL da API adicional.- A camada de gerenciamento de contêiner que expõe a API e as interfaces para definir, implantar e gerenciar o ciclo de vida dos contêineres. [+]
A camada de gerenciamento de contêiner que expõe a API e as interfaces para definir, implantar e gerenciar o ciclo de vida dos contêineres.
Uma carga de trabalho é uma aplicação sendo executada no Kubernetes.
[+]Vários objetos principais que representam diferentes tipos ou partes de uma carga de trabalho incluem os objetos DaemonSet, Deployment, Job, ReplicaSet, e StatefulSet.
Por exemplo, uma carga de trabalho que tem um servidor web e um banco de dados pode rodar o banco de dados em um StatefulSet e o servidor web em um Deployment.
Um arquivo criptograficamente seguro usado para validar o acesso ao cluster Kubernetes.
[+]Os certificados permitem que aplicativos dentro de um cluster Kubernetes acessem a API do Kubernetes com segurança. Os certificados validam que os clientes têm permissão para acessar a API.
Um grupo de processos do Linux com isolamento de recursos opcional, contagem e limites.
[+]cgroup é uma funcionalidade do núcleo de sistema do Linux que limita, conta e isola o uso de recursos (CPU, memória, entrada e saída de disco, rede) para um conjunto de processos.
CIDR (em inglês - Classless Inter-Domain Routing) é uma notação para descrever blocos de endereços IP e é muito usada em várias configurações de rede.
[+]No contexto do Kubernetes, cada Nó recebe um intervalo de endereços IP através do endereço inicial e uma máscara de sub-rede usando CIDR. Isso permite que os Nodes atribuam a cada Pod um endereço IP exclusivo. Embora originalmente seja um conceito para IPv4, o CIDR também foi expandido para incluir IPv6.
Termos sob os quais um colaborador concede uma licença a um projeto de código aberto por suas contribuições.
[+]Os CLAs ajudam a resolver disputas legais envolvendo material contribuído e propriedade intelectual.
Uma classe de Armazenamento oferece uma maneira para os administradores descreverem diferentes tipos de armazenamento disponíveis.
[+]Classes de Armazenamento podem mapear para níveis de qualidade de serviço, políticas de backup, ou políticas arbitrárias determinadas por administradores do cluster. Cada objeto StorageClass contém os campos
provisioner
,parameters
, ereclaimPolicy
, que são usados quando um Volume Persistente pertencente à classe precisa ser provisionada dinamicamente. Usuários podem solicitar uma classe específica usando o nome de um objeto StorageClass.A Cloud Native Computing Foundation (CNCF) constrói um ecossistema sustentável e promove uma comunidade no entorno dos projetos que orquestram contêineres como parte de uma arquitetura de microserviços.
Kubernetes é um projeto CNCF.
[+]A CNCF é uma sub-fundação da Linux Foundation. Sua missão é tornar a computação nativa em nuvem onipresente.
Um conjunto de servidores de processamento, chamados nós, que executam aplicações containerizadas. Todo cluster possui ao menos um servidor de processamento (worker node).
[+]O(s) servidor(es) de processamento hospeda(m) os Pods, que são componentes de uma aplicação. A camada de gerenciamento gerencia os nós de processamento e os Pods no cluster. Em ambientes de produção, a camada de gerenciamento geralmente executa em múltiplos computadores e um cluster geralmente executa múltiplos nós, fornecendo tolerância a falhas e alta disponibilidade.
Uma pessoa que desenvolve e contribui com código para o código aberto do Kubernetes.
[+]Eles também são membros da comunidade ativos que participam de um ou mais Grupos de Interesse Especial (SIGs).
Coleta de lixo (Garbage collection) é um termo coletivo para os vários mecanismos que o Kubernetes usa para limpar os recursos do cluster.
[+]O Kubernetes usa a coleta de lixo para limpar recursos como contêineres e imagens de contêiner não utilizados, Pods em estado de falha, objetos dependentes do recurso alvo, Jobs concluídos e recursos que expiraram ou falharam.
Recursos que estendem a funcionalidade do Kubernetes.
[+]Instalando Complementos explica mais sobre a utilização de complementos em seu cluster e lista alguns complementos populares.
Um objeto da API usado para armazenar dados não-confidenciais em pares chave-valor. Pods podem consumir ConfigMaps como variáveis de ambiente, argumentos de linha de comando ou como arquivos de configuração em um volume.
[+]Um ConfigMap ajuda a desacoplar configurações vinculadas ao ambiente das imagens de contêiner, de modo a tornar aplicações mais facilmente portáveis.
The lifecycle hooks expose events in the Container management lifecycle and let the user run code when the events occur.
[+]Two hooks are exposed to Containers: PostStart which executes immediately after a container is created and PreStop which is blocking and is called immediately before a container is terminated.
Plugins Container network interface (CNI) são um tipo de plugin de Rede em conformidade com a especificação appc/CNI.
[+]- Para informações sobre Kubernetes e CNI, veja "Plugins de rede".
Um agente de execução de contêiner com enfase em simplicidade, robustez e portabilidade
[+]containerd é um agente de execução de contêiner que executa um serviço no Linux ou Windows. containerd é responsável por buscar e armazenar as imagens de contêiner, executar contêineres, prover acesso à rede e mais.
Uma imagem executável leve e portável que contém software e todas as suas dependências.
[+]Contêineres desacoplam aplicações da infraestrutura da máquina em que estas rodam para tornar a instalação mais fácil em diferentes ambientes de nuvem e de sistemas operacionais, e para facilitar o escalonamento das aplicações.
Contêineres de aplicações são os contêineres de um Pod que são inicializados depois que os contêineres de inicialização tenham sido concluídos.
[+]Um contêiner de inicialização permite separar os detalhes de inicialização que são importantes para a carga de trabalho, e que não precisam continuar em execução assim que o contêiner de aplicação for iniciado. Se um Pod não tiver nenhum contêiner inicialização configurado, todos os contêineres nesse Pod serão contêineres de aplicação.
Alguém que doa código, documentação ou tempo para ajudar o projeto ou a comunidade Kubernetes.
[+]As contribuições incluem pull requests (PRs), issues, feedback, participação em grupos de interesse especial (SIG) ou organização de eventos comunitários.
No Kubernetes, controladores são ciclos de controle que observam o estado do seu cluster, e então fazer ou requisitar mudanças onde necessário. Cada controlador tenta mover o estado atual do cluster mais perto do estado desejado.
[+]Controladores observam o estado partilhado do cluster através do apiserver (parte do Camada de gerenciamento).
Alguns controladores também correm dentro do plano de controle, fornecendo ciclos de controle que são centrais às operações do Kubernetes. Por exemplo: o controlador de deployments, o controlador de daemonsets, o controlador de namespaces, e o controlador de volumes persistentes (persistent volumes) (e outros) todos correm dentro do kube-controller-manager.
Uma ferramenta que permite você usar agentes de execução de contêineres OCI com o CRI do Kubernetes
[+]CRI-O é uma implementação do Container runtime interface (CRI) que permite usar agentes de execução de contêiner compatíveis com as especificações da Open Container Initiative (OCI).
Usar o CRI-O permite ao Kubernetes utilizar-se de qualquer agente de execução compatível com o OCI para executar Pods, e obter imagens de contêineres de registros remotos.
Código customizado que define um recurso a ser adicionado ao seu servidor de API Kubernetes sem a necessidade de construir um servidor customizado.
[+]CustomResourceDefinitions permitem você extender a API do Kubernetes para seu ambiente caso as APIs atuais não cumpram com seus requisitos.
Um objeto da API que gerencia uma aplicação replicada, geralmente executando Pods sem estado armazenado.
[+]Cada réplica é representada por um Pod, e os Pods são distribuídos entre os nós de um cluster. Para cargas de trabalho que exigem o estado armazenado, considere usar um StatefulSet.
Pode se referir a: Desenvolvedor de Aplicativos, Colaborador de Código, ou Desenvolvedor de Plataforma.
[+]Esse termo pode ter significados diferentes, dependendo do contexto.
Uma pessoa que escreve um aplicativo que é executado em um cluster Kubernetes.
[+]Um desenvolvedor de aplicativos se concentra em uma parte da aplicação. O seu foco pode variar significativamente em tamanho.
Device plugins run on worker Nodes and provide Pods with access to resources, such as local hardware, that require vendor-specific initialization or setup steps.
[+]Device plugins advertise resources to the kubelet, so that workload Pods can access hardware features that relate to the Node where that Pod is running. You can deploy a device plugin as a DaemonSet, or install the device plugin software directly on each target Node.
See Device Plugins for more information.
Disrupção do Pod é o processo pelo qual Pods ou nós são interrompidos de forma voluntária ou involuntária.
[+]Disrupções voluntárias são iniciadas intencionalmente pelos donos das aplicações ou administradores dos clusters. Disrupções involuntárias não são intencionais e podem ser encadeadas por problemas inevitáveis como Nós com poucos recursos, ou por exclusões acidentais.
Disruptions are events that lead to one or more Pods going out of service. A disruption has consequences for workload resources, such as Deployment, that rely on the affected Pods.
[+]If you, as cluster operator, destroy a Pod that belongs to an application, Kubernetes terms that a voluntary disruption. If a Pod goes offline because of a Node failure, or an outage affecting a wider failure zone, Kubernetes terms that an involuntary disruption.
See Disruptions for more information.
Docker (especificamente, Docker Engine) é um software que provê virtualização a nível do sistema operacional também conhecida como containers.
[+]Docker utiliza as funcionalidades de isolamento de recursos do kernel linux como cgroups e kernel namespaces, e a capacidade de unir o sistema de arquivos como OverlayFS e outros para permitir a execução independente de containers dentro de uma única instância linux, sem a necessidade de iniciar e manter maquinas virtuais (VMs).
The dockershim is a component of Kubernetes version 1.23 and earlier. It allows the kubelet to communicate with Docker Engine.
[+]Starting with version 1.24, dockershim has been removed from Kubernetes. For more information, see Dockershim FAQ.
May refer to: code in the Kubernetes ecosystem that depends upon the core Kubernetes codebase or a forked repo.
[+]- In the Kubernetes Community: Conversations often use downstream to mean the ecosystem, code, or third-party tools that rely on the core Kubernetes codebase. For example, a new feature in Kubernetes may be adopted by applications downstream to improve their functionality.
- In GitHub or git: The convention is to refer to a forked repo as downstream, whereas the source repo is considered upstream.
Kubernetes' mechanism to expose Pod and container field values to code running in a container.
[+]It is sometimes useful for a container to have information about itself, without needing to make changes to the container code that directly couple it to Kubernetes.
The Kubernetes downward API allows containers to consume information about themselves or their context in a Kubernetes cluster. Applications in containers can have access to that information, without the application needing to act as a client of the Kubernetes API.
There are two ways to expose Pod and container fields to a running container:
- using environment variables
- using a
downwardAPI
volume
Together, these two ways of exposing Pod and container fields are called the downward API.
A string value representing an amount of time.
[+]The format of a (Kubernetes) duration is based on the
time.Duration
type from the Go programming language.In Kubernetes APIs that use durations, the value is expressed as series of a non-negative integers combined with a time unit suffix. You can have more than one time quantity and the duration is the sum of those time quantities. The valid time units are "ns", "µs" (or "us"), "ms", "s", "m", and "h".
For example:
5s
represents a duration of five seconds, and1m30s
represents a duration of one minute and thirty seconds.Allows users to request automatic creation of storage Volumes.
[+]Dynamic provisioning eliminates the need for cluster administrators to pre-provision storage. Instead, it automatically provisions storage by user request. Dynamic volume provisioning is based on an API object, StorageClass, referring to a Volume Plugin that provisions a Volume and the set of parameters to pass to the Volume Plugin.
Endpoints track the IP addresses of Pods with matching selectors.
[+]Endpoints can be configured manually for Services without selectors specified. The EndpointSlice resource provides a scalable and extensible alternative to Endpoints.
A way to group network endpoints together with Kubernetes resources.
[+]A scalable and extensible way to group network endpoints together. These can be used by kube-proxy to establish network routes on each node.
A Container type that you can temporarily run inside a Pod.
[+]If you want to investigate a Pod that's running with problems, you can add an ephemeral container to that Pod and carry out diagnostics. Ephemeral containers have no resource or scheduling guarantees, and you should not use them to run any part of the workload itself.
Ephemeral containers are not supported by static pods.
- [+]
X.509 é um formato padrão para certificados de chave pública, documentos digitais que associam com segurança pares de chaves criptográficas a identidades como sites, indivíduos ou organizações.
Introduzido pela primeira vez em 1988 junto com os padrões X.500 para serviços de diretório eletrônico, o X.509 foi adaptado para uso na Internet pelo grupo de trabalho Public-Key Infrastructure (X.509) (PKIX) da IETF. O RFC 5280 define o perfil do certificado X.509 v3, a lista de revogação de certificado X.509 v2 (CRL) e descreve um algoritmo para a validação do caminho do certificado X.509.
As aplicações comuns de certificados X.509 incluem:
- SSL / TLS e HTTPS para navegação na web autenticada e criptografada - E-mail assinado e criptografado por meio do protocolo S / MIME - Assinatura de código - Assinatura de documento - Autenticação de cliente - Identificação eletrônica emitida pelo governo
Armazenamento do tipo chave-valor consistente e de alta-disponibilidade, usado como armazenamento de apoio do Kubernetes para todos os dados do cluster.
[+]Se o seu cluster Kubernetes usa o etcd como seu armazenamento de apoio, certifique-se de ter um plano de backup para seus dados.
Você pode encontrar informações detalhadas sobre o etcd na documentação oficial.
Cada evento é uma informação de um acontecimento em algum lugar do cluster. Geralmente denota alguma mudança de estado no sistema.
[+]Os eventos tem um tempo limitado de retenção, e os gatilhos e as mensagens podem evoluir com o tempo. Os consumidores de um evento não devem confiar que a temporalidade de um evento com um determinado motivo reflita um gatilho com uma causa consistente, ou na existência de eventos continuados com aquele motivo.
Os eventos devem ser tratados como dados informativos, de melhor esforço, suplementares.
No Kubernetes, a auditoria gera um tipo diferente de registro de evento (grupo de API
audit.k8s.io
).Evicção é o processo de encerramento de um ou mais Pods em Nós.
[+]Existem dois tipos de evicção:
Extensions are software components that extend and deeply integrate with Kubernetes to support new types of hardware.
[+]Many cluster administrators use a hosted or distribution instance of Kubernetes. These clusters come with extensions pre-installed. As a result, most Kubernetes users will not need to install extensions and even fewer users will need to author new ones.
Feature gates are a set of keys (opaque string values) that you can use to control which Kubernetes features are enabled in your cluster.
[+]You can turn these features on or off using the
--feature-gates
command line flag on each Kubernetes component. Each Kubernetes component lets you enable or disable a set of feature gates that are relevant to that component. The Kubernetes documentation lists all current feature gates and what they control.Finalizers are namespaced keys that tell Kubernetes to wait until specific conditions are met before it fully deletes resources marked for deletion. Finalizers alert controllers to clean up resources the deleted object owned.
[+]When you tell Kubernetes to delete an object that has finalizers specified for it, the Kubernetes API marks the object for deletion by populating
.metadata.deletionTimestamp
, and returns a202
status code (HTTP "Accepted"). The target object remains in a terminating state while the control plane, or other components, take the actions defined by the finalizers. After these actions are complete, the controller removes the relevant finalizers from the target object. When themetadata.finalizers
field is empty, Kubernetes considers the deletion complete and deletes the object.You can use finalizers to control garbage collection of resources. For example, you can define a finalizer to clean up related resources or infrastructure before the controller deletes the target resource.
FlexVolume is a deprecated interface for creating out-of-tree volume plugins. The Container Storage Interface is a newer interface that addresses several problems with FlexVolume.
[+]FlexVolumes enable users to write their own drivers and add support for their volumes in Kubernetes. FlexVolume driver binaries and dependencies must be installed on host machines. This requires root access. The Storage SIG suggests implementing a CSI driver if possible since it addresses the limitations with FlexVolumes.
A family of API kinds for modeling service networking in Kubernetes.
[+]Gateway API provides a family of extensible, role-oriented, protocol-aware API kinds for modeling service networking in Kubernetes.
Um componente da camada de gerenciamento do Kubernetes que incorpora a lógica de controle específica da nuvem. O gerenciador de controle de nuvem permite que você vincule seu cluster na API do seu provedor de nuvem, e separar os componentes que interagem com essa plataforma de nuvem a partir de componentes que apenas interagem com seu cluster.
[+]Desassociando a lógica de interoperabilidade entre o Kubernetes e a infraestrutura de nuvem subjacente, o componente gerenciador de controle de nuvem permite que os provedores de nuvem desenvolvam e disponibilizem recursos em um ritmo diferente em comparação com o projeto principal do Kubernetes.
- Também conhecido como: GVR
Means of representing unique Kubernetes API resource.
[+]Group Version Resources (GVRs) specify the API group, API version, and resource (name for the object kind as it appears in the URI) associated with accessing a particular id of object in Kubernetes. GVRs let you define and distinguish different Kubernetes objects, and to specify a way of accessing objects that is stable even as APIs change.
Um conjunto de caminhos relacionados da API Kubernetes.
[+]Você pode ativar ou desativar cada grupo de APIs alterando a configuração do seu servidor de API. Você também pode desativar ou ativar caminhos para recursos específicos. O grupo de APIs facilita a extensão da API do Kubernetes. O grupo de APIs é especificado em um caminho REST e no campo
apiVersion
de um objeto serializado.- Leia o Grupo de API para obter mais informações.
A package of pre-configured Kubernetes resources that can be managed with the Helm tool.
[+]Charts provide a reproducible way of creating and sharing Kubernetes applications. A single chart can be used to deploy something simple, like a memcached Pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.
- Também conhecido como: HPA
An API resource that automatically scales the number of Pod replicas based on targeted CPU utilization or custom metric targets.
[+]HPA is typically used with ReplicationControllers, Deployments, or ReplicaSets. It cannot be applied to objects that cannot be scaled, for example DaemonSets.
A HostAliases is a mapping between the IP address and hostname to be injected into a Pod's hosts file.
[+]HostAliases is an optional list of hostnames and IP addresses that will be injected into the Pod's hosts file if specified. This is only valid for non-hostNetwork Pods.
Instância armazenada de um contêiner que contém o conjunto de softwares necessários para rodar uma aplicação.
[+]É uma forma de empacotamento de software que permite que este seja armazenado em um container registry, copiado para um sistema local e executado como uma aplicação. Metadados são incluídos na imagem para indicar qual programa deve ser executado, quem produziu a imagem, além de outras informações.
Immutable Infrastructure refers to computer infrastructure (virtual machines, containers, network appliances) that cannot be changed once deployed.
[+]Immutability can be enforced by an automated process that overwrites unauthorized changes or through a system that won’t allow changes in the first place. Containers are a good example of immutable infrastructure because persistent changes to containers can only be made by creating a new version of the container or recreating the existing container from its image.
By preventing or identifying unauthorized changes, immutable infrastructures make it easier to identify and mitigate security risks. Operating such a system becomes a lot more straightforward because administrators can make assumptions about it. After all, they know no one made mistakes or changes they forgot to communicate. Immutable infrastructure goes hand-in-hand with infrastructure as code where all automation needed to create infrastructure is stored in version control (such as Git). This combination of immutability and version control means that there is a durable audit log of every authorized change to a system.
- A camada de infraestrutura fornece e mantém máquinas virtuais, redes, grupos de segurança e outros. [+]
A camada de infraestrutura fornece e mantém máquinas virtuais, redes, grupos de segurança e outros.
Um objeto da API (do inglês "Application Programming Interface") que gerencia o acesso externo aos serviços em um cluster, normalmente HTTP.
[+]Um Ingress pode fornecer balanceamento de carga, terminação SSL e hospedagem virtual baseada em nomes.
One or more initialization containers that must run to completion before any app containers run.
[+]Initialization (init) containers are like regular app containers, with one difference: init containers must run to completion before any app containers can start. Init containers run in series: each init container must run to completion before the next init container begins.
Unlike sidecar containers, init containers do not remain running after Pod startup.
For more information, read init containers.
A Interface de Armazenamento de Contêiner (Container Storage Interface, CSI) define um padrão de interface para expor sistemas de armazenamento a contêineres.
[+]O CSI permite que os fornecedores criem plugins personalizados de armazenamento para o Kubernetes sem adicioná-los ao repositório Kubernetes (plugins fora da árvore). Para usar um driver CSI de um provedor de armazenamento, você deve primeiro instalá-lo no seu cluster. Você poderá então criar uma Classe de Armazenamento que use esse driver CSI.
Uma plataforma aberta (não específica do Kubernetes) que fornece uma maneira uniforme de integrar microsserviços, gerenciar o fluxo de tráfego, aplicar políticas e agregar dados de telemetria.
[+]Adicionar o Istio não requer alterar o código da aplicação. É uma camada de infraestrutura entre um serviço e a rede, quando combinada com as instalações de serviços, é comumente referida como uma malha de serviço. A camada de gerenciamento do Istio abstrai a plataforma de gerenciamento do cluster principal, que pode ser Kubernetes, Mesosphere, etc.
A means of representing claims to be transferred between two parties.
[+]JWTs can be digitally signed and encrypted. Kubernetes uses JWTs as authentication tokens to verify the identity of entities that want to perform actions in a cluster.
- [+]
Kerberos é um protocolo de rede que usa criptografia de chave secreta para autenticar aplicativos cliente-servidor. O Kerberos solicita um tíquete criptografado por meio de uma sequência de servidor autenticada para usar os serviços.
Kerberos foi desenvolvido pelo Project Athena - um projeto conjunto entre o Massachusetts Institute of Technology (MIT), Digital Equipment Corporation e IBM que funcionou entre 1983 e 1991.
Um servidor de autenticação usa um tíquete Kerberos para conceder acesso ao servidor e, em seguida, cria uma chave de sessão com base na senha do solicitante e outro valor aleatório. O tíquete de concessão de tíquete (TGT) é enviado ao servidor de concessão de tíquete (TGS), que é necessário para usar o mesmo servidor de autenticação.
O solicitante recebe uma chave TGS criptografada com um registro de data e hora e um tíquete de serviço, que é retornado ao solicitante e descriptografado. O solicitante envia ao TGS essas informações e encaminha a chave criptografada ao servidor para obter o serviço desejado. Se todas as ações forem tratadas corretamente, o servidor aceita o tíquete e realiza o atendimento ao usuário desejado, que deve descriptografar a chave, verificar a data e hora e entrar em contato com o centro de distribuição para obter as chaves de sessão. Essa chave de sessão é enviada ao solicitante, que descriptografa o tíquete.
Se as chaves e o carimbo de data / hora forem válidos, a comunicação cliente-servidor continuará. O tíquete TGS tem carimbo de data / hora, o que permite solicitações simultâneas dentro do período de tempo alocado.
- [+]
Keystone é o serviço de identidade usado pelo OpenStack para autenticação (authN) e autorização de alto nível (authZ). Atualmente, ele oferece suporte a authN com base em token e autorização de serviço do usuário. Recentemente, foi reprojetado para permitir a expansão para oferecer suporte a serviços externos de proxy e mecanismos AuthN / AuthZ, como oAuth, SAML e openID em versões futuras.
[+]kOps
não só te ajudará a criar, destruir, atualizar e manter clusters Kubernetes em nível de produção e altamente disponíveis, mas também provisionará a infraestrutura de nuvem necessária.Nota:
Atualmente, a AWS (Amazon Web Services) é oficialmente suportada, com o DigitalOcean, GCE e OpenStack em suporte beta e Azure em alfa.kOps
é um sistema de provisionamento automatizado:- Instalação totalmente automatizada
- Identificação de cluster baseada em DNS
- Auto correção: tudo é executado em grupos de Auto-Scaling
- Suporte a vários sistemas operacionais (Amazon Linux, Debian, Flatcar, RHEL, Rocky e Ubuntu)
- Suporte à alta disponibilidade (High-Availability, HA)
- Capacidade de provisionar diretamente ou gerar manifestos Terraform
Componente da camada de gerenciamento que executa os processos de controlador.
[+]Logicamente, cada controlador está em um processo separado, mas para reduzir a complexidade, eles todos são compilados num único binário e executam em um processo único.
kube-proxy é um proxy de rede executado em cada nó no seu cluster, implementando parte do conceito de serviço do Kubernetes.
[+]kube-proxy mantém regras de rede nos nós. Estas regras de rede permitem a comunicação de rede com seus pods a partir de sessões de rede dentro ou fora de seu cluster.
kube-proxy usa a camada de filtragem de pacotes do sistema operacional se houver uma e estiver disponível. Caso contrário, o kube-proxy encaminha o tráfego ele mesmo.
Componente da camada de gerenciamento que observa os Pods recém-criados e que ainda não foram atribuídos a um nó, e seleciona um nó para executá-los.
[+]Os fatores levados em consideração para as decisões de alocação incluem: requisitos de recursos individuais e coletivos, restrições de hardware/software/política, especificações de afinidade e antiafinidade, localidade de dados, interferência entre cargas de trabalho, e prazos.
Uma ferramenta para instalar rapidamente o Kubernetes e configurar um cluster seguro.
[+]Você pode usar o kubeadm para instalar a camada de gerenciamento e os componentes nós de processamento.
- Também conhecido como: kubectl
Ferramenta de linha de comando para se comunicar com a camada de gerenciamento de um cluster Kubernetes usando a API do Kubernetes.
[+]Você pode usar
kubectl
para criar, inspecionar, atualizar e excluir objetos Kubernetes. Um agente que é executado em cada nó no cluster. Ele garante que os contêineres estejam sendo executados em um Pod.
[+]O kubelet utiliza um conjunto de PodSpecs que são fornecidos por vários mecanismos e garante que os contêineres descritos nesses PodSpecs estejam funcionando corretamente. O kubelet não gerencia contêineres que não foram criados pelo Kubernetes.
The application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster.
[+]Kubernetes resources and "records of intent" are all stored as API objects, and modified via RESTful calls to the API. The API allows configuration to be managed in a declarative way. Users can interact with the Kubernetes API directly, or via tools like
kubectl
. The core Kubernetes API is flexible and can also be extended to support custom resources.- [+]
Abreviatura para "Lightweight Directory Access Protocol". Se você deseja disponibilizar informações de diretório na Internet, esta é a maneira de fazê-lo. O LDAP é uma versão simplificada de um padrão de diretório anterior denominado X.500. O que torna o LDAP tão útil é que ele funciona muito bem em redes TCP / IP (ao contrário do X.500), de modo que as informações podem ser acessadas por meio do LDAP por qualquer pessoa com uma conexão à Internet. Também é um protocolo aberto, o que significa que os diretórios podem ser armazenados em qualquer tipo de máquina (por exemplo, Windows 2000, Red Hat Linux, Mac OS X).
Para dar uma ideia de como um diretório LDAP é organizado, aqui estão os diferentes níveis de uma hierarquia de árvore LDAP simples:
O diretório raiz Países Organizações Divisões, departamentos, etc. Indivíduos Recursos individuais, como arquivos e impressoras. A maior parte da conectividade LDAP é feita nos bastidores, então o usuário típico provavelmente não notará ao navegar na web. No entanto, é uma boa tecnologia para se conhecer. Se nada mais, é outro termo para impressionar seus pais.
Provides constraints to limit resource consumption per Containers or Pods in a namespace.
[+]LimitRange limits the quantity of objects that can be created by type, as well as the amount of compute resources that may be requested/consumed by individual Containers or Pods in a namespace.
A software offering maintained by a third-party provider.
[+]Some examples of Managed Services are AWS EC2, Azure SQL Database, and GCP Pub/Sub, but they can be any software offering that can be used by an application.
Especificação de um objeto da API do Kubernetes em formato JSON ou YAML.
[+]Um manifesto especifica o estado desejado de um objeto que o Kubernetes manterá quando você aplicar o manifesto. Cada arquivo de configuração pode conter vários manifestos.
Legacy term, used as synonym for nodes hosting the control plane.
[+]The term is still being used by some provisioning tools, such as kubeadm, and managed services, to label nodes with
kubernetes.io/role
and control placement of control plane pods.Um colaborador continuamente ativo na comunidade K8s.
[+]Os membros podem ter issues e PRs atribuídos a eles e podem participar de um grupo de interesse especial (SIGs) por meio do GitHub teams. Os testes de aceitação são executados automaticamente para os PRs dos membros. Espera-se que um membro permaneça um colaborador ativo para a comunidade.
A tool for running Kubernetes locally.
[+]Minikube runs a single-node cluster inside a VM on your computer. You can use Minikube to try Kubernetes in a learning environment.
A pod object that a kubelet uses to represent a static pod
[+]When the kubelet finds a static pod in its configuration, it automatically tries to create a Pod object on the Kubernetes API server for it. This means that the pod will be visible on the API server, but cannot be controlled from there.
(For example, removing a mirror pod will not stop the kubelet daemon from running it).
- Também conhecido como: MVP
Feature to let a kube-apiserver proxy a resource request to a different peer API server.
[+]When a cluster has multiple API servers running different versions of Kubernetes, this feature enables resource requests to be served by the correct API server.
MVP is disabled by default and can be activated by enabling the feature gate named
UnknownVersionInteroperabilityProxy
when the API Server is started. Uma abstração utilizada pelo Kubernetes para suportar múltiplos clusters virtuais no mesmo cluster físico.
[+]Namespaces são utilizados para organizar objetos em um cluster e oferecer uma forma de separar os recursos do cluster. Os nomes dos recursos precisam ser únicos dentro de um namespace, mas não entre todos os namespaces existentes.
Um recurso do kernel para emular o root. Usado para "contêineres sem root".
[+]Os namespaces do usuário são um recurso do kernel Linux que permite que um usuário não root emule privilégios de superusuário ("root"), por exemplo, para executar contêineres sem ser um superusuário fora do contêiner.
O namespace do usuário é eficaz para mitigar os danos de um potencial ataque em que o adversário escapa dos limites do contêiner.
No contexto de namespaces de usuário, o namespace é um recurso do kernel Linux, e não um namespace no sentido do termo Kubernetes.
A specification of how groups of Pods are allowed to communicate with each other and with other network endpoints.
[+]Network Policies help you declaratively configure which Pods are allowed to connect to each other, which namespaces are allowed to communicate, and more specifically which port numbers to enforce each policy on.
NetworkPolicy
resources use labels to select Pods and define rules which specify what traffic is allowed to the selected Pods. Network Policies are implemented by a supported network plugin provided by a network provider. Be aware that creating a network resource without a controller to implement it will have no effect.Um Nó é uma máquina de trabalho no Kubernetes.
[+]Um Nó pode ser uma máquina virtual ou física, dependendo do cluster. Possui daemons ou serviços locais necessários para executar Pods e é gerenciado pela camada de gerenciamento. Os daemons em um nó incluem o kubelet, o kube-proxy e um agente de execução de contêiner que implemente o CRI, como por exemplo o Docker.
- Também conhecido como: kubelet eviction
Node-pressure eviction is the process by which the kubelet proactively terminates pods to reclaim resources on nodes.
[+]The kubelet monitors resources like CPU, memory, disk space, and filesystem inodes on your cluster's nodes. When one or more of these resources reach specific consumption levels, the kubelet can proactively fail one or more pods on the node to reclaim resources and prevent starvation.
Node-pressure eviction is not the same as API-initiated eviction.
Uma string fornecida pelo cliente que referencia um objeto em uma URL de recurso, como por exemplo
[+]/api/v1/pods/qualquer-nome
.Somente um objeto de um dado tipo pode ter um certo nome por vez. No entanto, se você remover o objeto, você poderá criar um novo objeto com o mesmo nome.
An entity in the Kubernetes system. The Kubernetes API uses these entities to represent the state of your cluster.
[+]A Kubernetes object is typically a “record of intent”—once you create the object, the Kubernetes control plane works constantly to ensure that the item it represents actually exists. By creating an object, you're effectively telling the Kubernetes system what you want that part of your cluster's workload to look like; this is your cluster's desired state.
O trabalho envolvido no gerenciamento de um cluster Kubernetes: gerenciamento das operações diárias e coordenação das atualizações.
[+]Exemplos das tarefas de operações do cluster incluem: implantação de novos nós para dimensionar o cluster; realização de atualizações de software; implementação de controles de segurança; adição ou remoção de armazenamento; configuração da rede do cluster; gerenciamento de observabilidade em todo o cluster; e resposta a eventos.
Uma pessoa que configura, controla e monitora clusters.
[+]Sua principal responsabilidade é manter um cluster funcionando, o que pode envolver atividades periódicas de manutenção ou atualizações.
Nota:
Os operadores de cluster são diferentes do padrão Operador que estende a API Kubernetes.O padrão Operador é um design de sistema que vincula um controlador a um ou mais recursos personalizados.
[+]Você pode estender a funcionalidade do Kubernetes adicionando controladores ao seu cluster, além dos controladores que são distribuídos como parte do Kubernetes.
Se uma aplicação em execução age como um controlador e tem acesso à API para desempenhar tarefas em um recurso personalizado que está definido na camada de gerenciamento, este é um exemplo do padrão Operador.
- A camada que fornece capacidade, tais como CPU, memória, rede e armazenamento, para que os contêineres possam ser executados e conectados a uma rede. [+]
A camada que fornece capacidade, tais como CPU, memória, rede e armazenamento, para que os contêineres possam ser executados e conectados a uma rede.
A person who customizes the Kubernetes platform to fit the needs of their project.
[+]A platform developer may, for example, use Custom Resources or Extend the Kubernetes API with the aggregation layer to add functionality to their instance of Kubernetes, specifically for their application. Some Platform Developers are also contributors and develop extensions which are contributed to the Kubernetes community. Others develop closed-source commercial or site-specific extensions.
Um plugin de volume permite a integração do armazenamento dentro de um Pod.
[+]Um plugin de volume permite anexar e montar volumes de armazenamento para uso por um Pod. Os plugins de volume podem estar dentro ou fora da árvore. Na árvore, os plugins fazem parte do repositório de código Kubernetes e seguem seu ciclo de lançamento. Os plugins fora da árvore são desenvolvidos de forma independente.
O menor e mais simples objeto Kubernetes. Um Pod representa um conjunto de contêineres em execução no seu cluster.
[+]Um Pod é normalmente configurado para executar um único contêiner primário. Ele também pode executar contêineres opcionais que adicionam recursos adicionais, como registro em log. Os pods são geralmente gerenciados por um Deployment.
- Também conhecido como: PDB
A Pod Disruption Budget allows an application owner to create an object for a replicated application, that ensures a certain number or percentage of Pods with an assigned label will not be voluntarily evicted at any point in time.
[+]Involuntary disruptions cannot be prevented by PDBs; however they do count against the budget.
The sequence of states through which a Pod passes during its lifetime.
[+]The Pod Lifecycle is defined by the states or phases of a Pod. There are five possible Pod phases: Pending, Running, Succeeded, Failed, and Unknown. A high-level description of the Pod state is summarized in the PodStatus
phase
field.Pod Priority indicates the importance of a Pod relative to other Pods.
[+]Pod Priority gives the ability to set scheduling priority of a Pod to be higher and lower than other Pods — an important feature for production clusters workload.
Enables fine-grained authorization of Pod creation and updates.
[+]A cluster-level resource that controls security sensitive aspects of the Pod specification. The
PodSecurityPolicy
objects define a set of conditions that a Pod must run with in order to be accepted into the system, as well as defaults for the related fields. Pod Security Policy control is implemented as an optional admission controller.PodSecurityPolicy was deprecated as of Kubernetes v1.21, and removed in v1.25. As an alternative, use Pod Security Admission or a 3rd party admission plugin.
- Também conhecido como: pod template
An API object that defines a template for creating Pods. The PodTemplate API is also embedded in API definitions for workload management, such as Deployment or StatefulSets.
[+]Pod templates allow you to define common metadata (such as labels, or a template for the name of a new Pod) as well as to specify a pod's desired state. Workload management controllers use Pod templates (embedded into another object, such as a Deployment or StatefulSet) to define and manage one or more Pods. When there can be multiple Pods based on the same template, these are called replicas. Although you can create a PodTemplate object directly, you rarely need to do so.
A PriorityClass is a named class for the scheduling priority that should be assigned to a Pod in that class.
[+]A PriorityClass is a non-namespaced object mapping a name to an integer priority, used for a Pod. The name is specified in the
metadata.name
field, and the priority value in thevalue
field. Priorities range from -2147483648 to 1000000000 inclusive. Higher values indicate higher priority.A check that the kubelet periodically performs against a container that is running in a pod, that will define container's state and health and informing container's lifecycle.
[+]To learn more, read container probes.
- Também conhecido como: Provedor de Serviços em Nuvem
Uma empresa ou outra organização que oferece uma plataforma de computação em nuvem.
[+]Os provedores de nuvem, às vezes chamados de Provedores de Serviços em Nuvem (CSPs), oferecem plataformas ou serviços de computação em nuvem.
Muitos provedores de nuvem oferecem infraestrutura gerenciada (também chamada de Infraestrutura como Serviço ou IaaS). Com a infraestrutura gerenciada, o provedor de nuvem é responsável pelos servidores, armazenamento e rede enquanto você gerencia as camadas em cima disso, tal como a execução de um cluster Kubernetes.
Você também pode encontrar o Kubernetes como um serviço gerenciado; às vezes chamado de Plataforma como Serviço ou PaaS. Com o Kubernetes gerenciado, o seu provedor de nuvem é responsável pela camada de gerenciamento do Kubernetes, bem como pelos nós e pela infraestrutura em que eles dependem: rede, armazenamento e provavelmente outros elementos, tal como balanceadores de carga.
In computing, a proxy is a server that acts as an intermediary for a remote service.
[+]A client interacts with the proxy; the proxy copies the client's data to the actual server; the actual server replies to the proxy; the proxy sends the actual server's reply to the client.
kube-proxy is a network proxy that runs on each node in your cluster, implementing part of the Kubernetes Service concept.
You can run kube-proxy as a plain userland proxy service. If your operating system supports it, you can instead run kube-proxy in a hybrid mode that achieves the same overall effect using less system resources.
QoS Class (Quality of Service Class) provides a way for Kubernetes to classify Pods within the cluster into several classes and make decisions about scheduling and eviction.
[+]QoS Class of a Pod is set at creation time based on its compute resources requests and limits settings. QoS classes are used to make decisions about Pods scheduling and eviction. Kubernetes can assign one of the following QoS classes to a Pod:
Guaranteed
,Burstable
orBestEffort
.A whole-number representation of small or large numbers using SI suffixes.
[+]Quantities are representations of small or large numbers using a compact, whole-number notation with SI suffixes. Fractional numbers are represented using milli units, while large numbers can be represented using kilo, mega, or giga units.
For instance, the number
1.5
is represented as1500m
, while the number1000
can be represented as1k
, and1000000
as1M
. You can also specify binary-notation suffixes; the number 2048 can be written as2Ki
.The accepted decimal (power-of-10) units are
m
(milli),k
(kilo, intentionally lowercase),M
(mega),G
(giga),T
(tera),P
(peta),E
(exa).The accepted binary (power-of-2) units are
Ki
(kibi),Mi
(mebi),Gi
(gibi),Ti
(tebi),Pi
(pebi),Ei
(exbi).- Também conhecido como: Role Based Access Control, Controle de Acesso Baseado em Funções
Gerencia decisões de autorização, permitindo que os administradores configurem dinamicamente políticas de acesso por meio da API do Kubernetes.
[+]O RBAC (do inglês - Role-Based Access Control) utiliza funções, que contêm regras de permissão, e atribuição das funções, que concedem as permissões definidas em uma função a um conjunto de usuários.
A copy or duplicate of a Pod or a set of pods. Replicas ensure high availability, scalability, and fault tolerance by maintaining multiple identical instances of a pod.
[+]Replicas are commonly used in Kubernetes to achieve the desired application state and reliability. They enable workload scaling and distribution across multiple nodes in a cluster.
By defining the number of replicas in a Deployment or ReplicaSet, Kubernetes ensures that the specified number of instances are running, automatically adjusting the count as needed.
Replica management allows for efficient load balancing, rolling updates, and self-healing capabilities in a Kubernetes cluster.
A ReplicaSet (aims to) maintain a set of replica Pods running at any given time.
[+]Workload objects such as Deployment make use of ReplicaSets to ensure that the configured number of Pods are running in your cluster, based on the spec of that ReplicaSet.
A workload resource that manages a replicated application, ensuring that a specific number of instances of a Pod are running.
[+]The control plane ensures that the defined number of Pods are running, even if some Pods fail, if you delete Pods manually, or if too many are started by mistake.
Note:
ReplicationController is deprecated. See Deployment, which is similar.Declara recursos de armazenamento definidos em um PersistentVolume para que possa ser montado como um volume em um contêiner.
[+]Especifica a quantidade de armazenamento, como o armazenamento será acessado (somente leitura, leitura/gravação e/ou exclusivo) e como será recuperado (retido, reciclado ou excluído). Os detalhes do armazenamento propriamente dito são descritos no objeto PersistentVolume.
Uma pessoa que revisa o código quanto à qualidade e correção em alguma parte do projeto.
[+]Os revisores têm conhecimento sobre o código base e os princípios de engenharia de software. O estado do revisor é atribuído a uma parte do código.
- [+]
SAML significa Linguagem de Marcação para Asserção de Segurança. É um padrão aberto baseado em XML para transferência de dados de identidade entre duas partes: um provedor de identidade (IdP) e um provedor de serviços (SP).
Provedor de identidade - executa autenticação e passa a identidade do usuário e o nível de autorização para o provedor de serviços.
Provedor de serviços - confia no provedor de identidade e autoriza o usuário fornecido a acessar o recurso solicitado.
A autenticação de logon único SAML normalmente envolve um provedor de serviços e um provedor de identidade. O fluxo do processo geralmente envolve os estágios de estabelecimento de confiança e fluxo de autenticação.
Considere este exemplo:
Nosso provedor de identidade é Auth0 Nosso provedor de serviços é um serviço fictício, Zagadat Nota: O provedor de identidade pode ser qualquer plataforma de gerenciamento de identidade.
Agora, um usuário está tentando obter acesso ao Zagadat usando a autenticação SAML.
Este é o fluxo do processo:
O usuário tenta fazer login no Zagadat a partir de um navegador. O Zagadat responde gerando uma solicitação SAML.
Armazena dados sensíveis, como senhas, tokens OAuth e chaves SSH.
[+]Permite mais controle com relação a como as informações sensíveis são armazenadas e reduz o risco de exposição acidental. Os valores dos Secrets são codificados como strings no formato base64, mas não encriptados por padrão. É possível configurar o cluster para realizar a encriptação em disco de Secrets. Um Pod pode referenciar o Secret como um arquivo em um volume montado, ou o kubelet pode usar este dado quando baixa imagens para um pod. Secrets são úteis para dados confidenciais, enquanto ConfigMaps são úteis para dados não-confidenciais.
The
[+]securityContext
field defines privilege and access control settings for a Pod or container.In a
securityContext
, you can define: the user that processes run as, the group that processes run as, and privilege settings. You can also configure security policies (for example: SELinux, AppArmor or seccomp).The
PodSpec.securityContext
setting applies to all containers in a Pod.Uma forma abstrata de expor uma aplicação que está executando em um conjunto de Pods como um serviço de rede.
[+]O conjunto de Pods referenciado por um Service é (geralmente) determinado por um seletor. Se mais Pods são adicionados ou removidos, o conjunto de Pods que atende ao critério do seletor será alterado. O Service garante que o tráfego de rede pode ser direcionado ao conjunto atual de Pods para a carga de trabalho.
A former extension API that enabled applications running in Kubernetes clusters to easily use external managed software offerings, such as a datastore service offered by a cloud provider.
[+]It provided a way to list, provision, and bind with external Managed Services without needing detailed knowledge about how those services would be created or managed.
Provides an identity for processes that run in a Pod.
[+]When processes inside Pods access the cluster, they are authenticated by the API server as a particular service account, for example,
default
. When you create a Pod, if you do not specify a service account, it is automatically assigned the default service account in the same Namespace.- Também conhecido como: kube-apiserver
O servidor da API é um componente da camada de gerenciamento do Kubernetes que expõe a API do Kubernetes. O servidor da API é o front end para a camada de gerenciamento do Kubernetes.
[+]A principal implementação de um servidor de API do Kubernetes é o kube-apiserver. O kube-apiserver foi projetado para ser escalonado horizontalmente — ou seja, ele pode ser escalonado com a criação de mais instâncias. Você pode executar várias instâncias do kube-apiserver e distribuir o tráfego entre essas instâncias.
Uma técnica para atribuir requisições para filas que proporciona melhor isolamento do que efetuar a operação módulo (resto da divisão) do hash da requisição pelo número de filas.
[+]Nos preocupamos frequentemente em isolar diferentes fluxos de requisições uma das outras, de modo que um fluxo de alta intensidade não afete um fluxo de baixa intensidade. Uma forma simples de colocar requisições em fila é gerar um hash baseado em características da requisição, efetuar a operação módulo, ou resto da divisão, do hash calculado pelo número de filas, para ter o índice da fila à ser usada. A função hash usa como entrada características da requisição que se alinha com o fluxo. Por exemplo, na Internet isso é frequentemente a tupla de 5 elementos de endereço de origem e destino, protocolo, e portas de origem e destino.
Esse simples esquema baseado em hash tem a propriedade de que qualquer fluxo de alta intensidade irá tirar todos fluxos de baixa intensidade dessa mesma fila. Fornecer um bom isolamento para um grande número de fluxos requer um grande número de filas, o que é problemático. Shuffle-sharding é uma técnica mais ágil que pode fazer um trabalho melhor de isolar fluxos de baixa intensidade dos fluxos de alta intensidade. A terminologia do shuffle-sharding faz uso da metáfora de distribuição da mão de cartas; cada fila é uma carta metafórica. A técnica de shuffle-sharding começa fazendo hashing das características de identificação do fluxo da solicitação, para produzir um valor hash com dezenas ou mais bits. Em seguida, o valor hash é usado como uma fonte de entropia para embaralhar o baralho e dar uma mão de cartas (filas). Todas as filas tratadas são examinadas e a solicitação é colocada em uma das filas examinadas com menor tamanho. Com um número modesto de cartas, não custa examinar todas as cartas distribudas, em um dado fluxo de baixa intensidade que tem uma boa chance de se esquivar dos efeitos de um dado fluxo de alta intensidade. Com um número maior de cartas é caro examinar as filas tratadas e mais dificil para que os fluxos de baixa intensidade se esquivem do efeitos coletivos de um conjunto de fluxos de alta intensidade. Assim, o tamanho da mão do baralho deve ser escolhido criteriosamente.
One or more containers that are typically started before any app containers run.
[+]Sidecar containers are like regular app containers, but with a different purpose: the sidecar provides a Pod-local service to the main app container. Unlike init containers, sidecar containers continue running after Pod startup.
Read Sidecar containers for more information.
Membros da comunidade que gerenciam coletivamente e continuamente uma parte ou projeto maior do código aberto do Kubernetes.
[+]Os membros dentro de um grupo de interesse especial (do inglês - Special Interest Group, SIG) têm um interesse comum em contribuir em uma área específica, como arquitetura, API ou documentação. Os SIGs devem seguir as diretrizes de governança do SIG, mas podem ter sua própria política de contribuição e canais de comunicação.
Para mais informações, consulte o repositório kubernetes/community e a lista atual de SIGs e Grupos de Trabalho.
Defines how each object, like Pods or Services, should be configured and its desired state.
[+]Almost every Kubernetes object includes two nested object fields that govern the object's configuration: the object spec and the object status. For objects that have a spec, you have to set this when you create the object, providing a description of the characteristics you want the resource to have: its desired state.
It varies for different objects like Pods, StatefulSets, and Services, detailing settings such as containers, volumes, replicas, ports,
and other specifications unique to each object type. This field encapsulates what state Kubernetes should maintain for the defined
object.Gerencia o deployment e escalonamento de um conjunto de Pods, e fornece garantias sobre a ordem e unicidade desses Pods.
[+]Como o Deployment, um StatefulSet gerencia Pods que são baseados em uma especificação de container idêntica. Diferente do Deployment, um StatefulSet mantém uma identidade fixa para cada um de seus Pods. Esses pods são criados da mesma especificação, mas não são intercambiáveis: cada um tem uma identificação persistente que se mantém em qualquer reagendamento.
Se você quiser usar volumes de armazenamento para fornecer persistência para sua carga de trabalho, você pode usar um StatefulSet como parte da sua solução. Embora os Pods individuais em um StatefulSet sejam suscetíveis a falhas, os identificadores de pods persistentes facilitam a correspondência de volumes existentes com os novos pods que substituem qualquer um que tenha falhado.
[+]sysctl
é uma interface semi-padronizada para ler ou alterar os atributos do kernel Unix em execução.Em sistemas do tipo Unix,
sysctl
é tanto o nome da ferramenta que os administradores usam para visualizar e modificar essas configurações, quanto a chamada do sistema que a ferramenta usa.Os contêineres em execução e os plugins de rede podem depender dos valores definidos do
sysctl
.Um objeto principal consistindo de três propriedades principais: chave, valor, e efeito. Taints previnem a alocação de Pods em Nós ou grupos de nós.
[+]Taints e Tolerâncias trabalham juntas para assegurar que Pods não sejam alocados em nós inapropriados. Uma ou mais taints são aplicadas para um Nó. Um nó deve somente alocar um Pod com tolerâncias coincidentes com a taint configurada.
- [+]
O nome comum é normalmente composto de Host + Nome de domínio e será semelhante a www.seusite.com ou seusite.com. Os certificados de servidor SSL são específicos para o nome comum para o qual foram emitidos no nível do host.
O nome comum deve ser igual ao endereço da Web que você acessará ao se conectar a um site seguro. Por exemplo, um certificado de servidor SSL para o domínio domínio.com receberá um aviso do navegador se o acesso a um site chamado www.domain.com ou secure.domain.com, pois www.domain.com e secure.domain.com são diferentes de dominio.com. Você precisaria criar um CSR para o nome comum correto.
- Uma string gerada pelos sistemas do Kubernetes para identificar objetos de forma única. Cada objeto criado durante todo o ciclo de vida do cluster do Kubernetes possui um UID distinto. O objetivo deste identificador é distinguir ocorrências históricas de entidades semelhantes. [+]
Uma string gerada pelos sistemas do Kubernetes para identificar objetos de forma única.
Cada objeto criado durante todo o ciclo de vida do cluster do Kubernetes possui um UID distinto. O objetivo deste identificador é distinguir ocorrências históricas de entidades semelhantes.
May refer to: core Kubernetes or the source repo from which a repo was forked.
[+]- In the Kubernetes Community: Conversations often use upstream to mean the core Kubernetes codebase, which the general ecosystem, other code, or third-party tools rely upon. For example, community members may suggest that a feature is moved upstream so that it is in the core codebase instead of in a plugin or third-party tool.
- In GitHub or git: The convention is to refer to a source repo as upstream, whereas the forked repo is considered downstream.
Um nome de usuário é um nome que identifica exclusivamente alguém em um sistema de computador. Por exemplo, um computador pode ser configurado com várias contas, com nomes de usuário diferentes para cada conta. Muitos sites permitem que os usuários escolham um nome de usuário para que possam personalizar suas configurações ou configurar uma conta online. Por exemplo, seu banco pode permitir que você escolha um nome de usuário para acessar suas informações bancárias. Você pode precisar escolher um nome de usuário para postar mensagens em um determinado quadro de mensagens na web. Os serviços de e-mail, como o Hotmail, exigem que os usuários escolham um nome de usuário para usar o serviço.
[+]Um nome de usuário geralmente é pareado com uma senha. Essa combinação de nome de usuário / senha é conhecida como login e geralmente é necessária para que os usuários façam login em sites. Por exemplo, para acessar seu e-mail pela Web, é necessário inserir seu nome de usuário e senha. Depois de fazer o login, seu nome de usuário pode aparecer na tela, mas sua senha é mantida em segredo. Ao manter sua senha privada, as pessoas podem criar contas seguras para vários sites. A maioria dos nomes de usuário pode conter letras e números, mas não espaços. Quando você escolhe um nome de usuário para uma conta de e-mail, a parte antes de "@" é o seu nome de usuário.
Variáveis de ambiente de contêineres são pares nome=valor que trazem informações úteis para os contêineres rodando dentro de um pod
[+]Variáveis de ambiente de contêineres fornecem informações requeridas pela aplicação conteinerizada, junto com informações sobre recursos importantes para o contêiner. Por exemplo, detalhes do sistema de arquivos, informações sobre o contêiner, e outros recursos do cluster, como endpoints de serviços.
Um diretório contendo dados, accessível aos contêineres em um Pod.
[+]Um volume do Kubernetes existe enquanto o Pod que utiliza ele existir também. Consequentemente, um volume dura mais tempo que qualquer contêiner que rodar em um Pod, e os dados no volume são preservados entre reinicializações do contêiner.
Veja armazenamento para mais detalhes.
Um objeto de API que representa uma parte do armazenamento no cluster. Disponível como um recurso geral e conectável que persiste além do ciclo de vida de qualquer Pod individual.
[+]PersistentVolumes (PVs) fornecem uma API que abstrai detalhes de como o armazenamento é fornecido a partir de como ele é consumido. Os PVs são usados diretamente em cenários onde o armazenamento pode ser criado antecipadamente (provisionamento estático). Para cenários que exigem armazenamento sob demanda (provisionamento dinâmico), PersistentVolumeClaims (PVCs) são usados.
A verb that is used to track changes to an object in Kubernetes as a stream. It is used for the efficient detection of changes.
[+]A verb that is used to track changes to an object in Kubernetes as a stream. Watches allow efficient detection of changes; for example, a controller that needs to know whenever a ConfigMap has changed can use a watch rather than polling.
See Efficient Detection of Changes in API Concepts for more information.
Facilita a discussão e/ou implementação de um projeto de curta duração, pontual ou dissociado para um comitê, envolvendo um ou mais SIG (grupos de interesse especial).
[+]Grupos de trabalho (do inglês - Working Group, WG) são uma maneira de organizar as pessoas para realizar uma tarefa.
Para mais informações, consulte o repositório kubernetes/community e a lista atual de SIGs e grupos de trabalho.
Comentários
Esta página foi útil?
Obrigado pelo feedback. Se você tiver uma pergunta específica sobre como utilizar o Kubernetes, faça em Stack Overflow. Abra um bug no repositório do GitHub se você deseja relatar um problema ou sugerir uma melhoria.