Lançamento do Kubernetes 1.18, sistema de gerenciamento de clusters de contêineres isolados

Publicado lançamento da plataforma de orquestração de contêineres Kubernetes 1.18, permitindo gerenciar como um todo um cluster de contêineres isolados e fornecendo mecanismos para implantação, gerenciamento e escalonamento de aplicações executadas em contêineres. O projeto foi inicialmente criado pela Google, mas posteriormente transferido para uma plataforma independente, supervisionada pela Linux Foundation. A plataforma é posicionada como uma solução universal desenvolvida pela comunidade, não vinculada a sistemas específicos e capaz de operar com quaisquer aplicações em qualquer ambiente de nuvem. O código do Kubernetes é escrito em Go e é distribuído estão sob a licença Apache 2.0.

fornece funções para implantação e gerenciamento de infraestrutura, como manutenção de banco de dados DNS, balanceamento de carga,
distribuição de contêineres entre os nós do cluster (migração de contêineres com base na mudança de carga e nas necessidades de serviços), verificação de integridade em nível de aplicação, gerenciamento de contas, atualização e escalonamento dinâmico do cluster em funcionamento, sem interrupções. É possível implantar grupos de contêineres realizando operações de atualização e reversão imediatamente para todo o grupo, bem como segmentação lógica do cluster em partes com separação de recursos. Suporte é oferecido para migração dinâmica de aplicações, cujos dados podem ser armazenados em sistemas de armazenamento locais ou em rede.

A versão Kubernetes 1.18 inclui 38 mudanças e melhorias, das quais 15 foram promovidas ao status estável, e 11 ao status beta. 12 novas mudanças foram propostas no status alfa. Ao preparar a nova versão, esforços iguais foram direcionados tanto para aprimorar diversas funcionalidades e estabilizar recursos experimentais, quanto para adicionar novos desenvolvimentos. Principais mudanças:

  • Kubectl
    • Adicionada versão alfa do comando "kubectl debug", que simplifica a depuração em pods, por meio da execução de contêineres efêmeros com ferramentas de depuração.
    • Declarado estável comando "kubectl diff", que permite visualizar o que mudará no cluster se o manifesto for aplicado.
    • Removidos todos os geradores do comando "kubectl run", exceto o gerador de um único pod.
    • Alterado A bandeira «—dry-run», dependendo de seu valor (client, server e none), executa um teste do comando no lado do cliente ou do servidor.
    • Código kubectl destacado em um repositório separado. Isso permitiu separar o kubectl de dependências internas do kubernetes e facilitou a importação de código em projetos de terceiros.
  • Ingress
    • Começou mudança do grupo API para Ingress para networking.v1beta1.
    • Adicionados novos campos:
      • pathType, que permite especificar como o caminho na solicitação será comparado
      • IngressClassName — substituição da anotação kubernetes.io/ingress.class, que foi declarada obsoleta. Este campo especifica o nome de um objeto IngressClass especial
    • Adicionado o objeto IngressClass, onde se especifica o controlador de ingress, seus parâmetros adicionais e se deve ser usado como padrão
  • Service
    • Adicionado o campo AppProtocol, onde se pode indicar qual protocolo o aplicativo utiliza
    • Foi traduzido para o status beta e habilitado por padrão EndpointSlicesAPI, que é uma substituição mais funcional para os Endpoints comuns.
  • Rede
    • Suporte IPv6 foi traduzido para o status beta.
  • Discos permanentes. A seguinte funcionalidade foi declarada estável:
  • Configuração do aplicativo
    • Nos objetos ConfigMap e Secret adicionado novo campo «immutable». Definir o valor do campo como true proíbe a alteração do objeto.
  • Agendador
    • Adicionada possibilidade de criar perfis adicionais para kube-scheduler. Se antes era necessário executar planejadores separados adicionais para implementar algoritmos de distribuição não padrão de pods, agora é possível criar conjuntos adicionais de configurações para o planejador padrão e indicar seu nome no mesmo campo do pod «.spec.schedulerName». Status — alfa.
    • Evicção baseadas em Taint declarada estável
  • Escalabilidade
    • Adicionada a capacidade de especificar no manifesto HPA o grau de agressividade ao mudar o número de pods em execução, ou seja, ao aumentar a carga, iniciar imediatamente N vezes mais instâncias.
  • começou a usar
    • Gerenciador de Topologia recebeu status beta. A função inclui alocação NUMA, o que ajuda a evitar degradação de desempenho em sistemas multi-socket.
    • Status beta recebeu função PodOverhead, permitindo especificar no RuntimeClass uma quantidade adicional de recursos necessária para iniciar o pod.
    • Expandido suporte a HugePages, a isolação em nível de contêiner foi adicionada no status alfa, bem como o suporte a vários tamanhos de hugepages.
    • Removido endpoint para métricas \/metrics\resource\/v1alpha1, em vez disso, é utilizado \/metrics\resource
  • API
    • Definitivamente remoção da capacidade de usar os grupos de API obsoletos apps\/v1beta1 e extensions\/v1beta1.
    • ServerSide Apply elevado ao status beta2. Essa melhoria transfere a manipulação de objetos do kubectl para o servidor API. Os autores da melhoria afirmam que isso permitirá corrigir muitos erros existentes, que não podem ser corrigidos na situação atual. Também adicionaram a seção ".metadata.managedFields", onde sugerem armazenar um histórico de alterações do objeto, indicando quem, quando e o que exatamente foi alterado.
    • Anunciado como estável o API CertificateSigningRequest.
  • Suporte à plataforma Windows.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster