11 ferramentas que fan que Kubernetes sexa mellor

11 ferramentas que fan que Kubernetes sexa mellor

Non todas as plataformas de servidores, incluso as máis potentes e escalables, satisfacen todas as necesidades tal e como están. Aínda que Kubernetes funciona moi ben por si só, é posible que careza das pezas adecuadas para estar completo. Sempre atoparás un caso especial que ignora a túa necesidade ou no que Kubernetes non funcionará na instalación predeterminada, por exemplo, soporte de base de datos ou operación de CD.

Aquí é onde aparecen engadidos, extensións e outros beneficios para este orquestrador de contedores, apoiados por unha ampla comunidade. Este artigo presentará as 11 mellores cousas que atopamos. A nós mesmos en Southbridge son moi interesantes e pensamos tratar con eles de forma práctica: desármaos en parafusos e porcas e mira o que hai dentro. Algúns deles complementarán perfectamente calquera clúster de Kubernetes, mentres que outros axudarán a resolver problemas específicos que non están implementados no paquete estándar de Kubernetes.

Gatekeeper: Xestión de políticas

Proxecto Abre axente de políticas (OPA) ofrece a posibilidade de crear políticas enriba das pilas de aplicacións na nube en Kubernetes, desde a entrada ata a malla de servizo. Gatekeeper ofrece a capacidade nativa de Kubernetes para facer cumprir políticas automaticamente en todo o clúster e tamén ofrece inspección de calquera evento ou recurso que infrinxa unha política. Todo isto é xestionado por un mecanismo relativamente novo en Kubernetes, o xestor de admisión de Webhooks, que se activa cando cambian os recursos. Con Gatekeeper, as políticas de OPA convértense nunha parte máis da saúde do teu clúster de Kubernetes sen necesidade dunha supervisión constante.

Gravidade: clústeres portátiles de Kubernetes

Se queres implementar unha aplicación en Kubernetes, moitas aplicacións teñen un gráfico Helm que guía e automatiza este proceso. Pero que pasa se queres levar o teu clúster de Kubernetes tal e como está e desenrolalo noutro lugar?

Gravidade toma instantáneas do estado dos clústeres de Kubernetes, dos seus rexistros para imaxes de contedores e das aplicacións en execución chamadas "paquetes de aplicacións". Tal paquete, que é un ficheiro normal .tar, pode replicar o clúster en calquera lugar onde se poida executar Kubernetes.

Gravity tamén verifica que a infraestrutura de destino se comporta igual que a fonte e que o ambiente de Kubernetes no destino está dispoñible. A versión de pago de Gravity tamén engade funcións de seguranza, incluíndo RBAC e a posibilidade de sincronizar a configuración de seguranza en diferentes implementacións de clúster.

A última versión principal, Gravity 7, pode lanzar unha imaxe Gravity a un clúster de Kubernetes existente, en lugar de crear un clúster completamente novo a partir da imaxe. Gravity 7 tamén pode funcionar con clusters instalados sen unha imaxe de Gravity. Gravity tamén admite SELinux e funciona de forma nativa coa pasarela SSH de Teleport.

Kaniko: construción de contedores nun clúster de Kubernetes

A maioría das imaxes de contedores están construídas en sistemas fóra da pila de contedores. Non obstante, ás veces cómpre construír unha imaxe dentro dunha pila de contedores, por exemplo, nalgún lugar dun contenedor en execución ou nun clúster de Kubernetes.

Kaniko constrúe contedores nun ambiente de contedores, pero sen depender dun servizo de contenedores, como Docker. Pola contra, Kaniko extrae o sistema de ficheiros da imaxe base, executa todos os comandos de compilación no espazo do usuario enriba do sistema de ficheiros extraído, tomando unha instantánea do sistema de ficheiros despois de cada comando.

Nota: Kaniko está actualmente (maio de 2020, aprox. tradutor) non pode construír contedores de Windows.

Kubecost: parámetros de custo de inicio de Kubernetes

A maioría das ferramentas de administración de Kubernetes céntranse na facilidade de uso, o seguimento, a comprensión do comportamento dentro dun pod, etc. Pero, que hai de mirar o custo, en dólares e centavos, asociado coa execución de Kubernetes?

Kubecost Procesa os parámetros de Kubernetes en tempo real, obtendo información actualizada sobre os custos dos clústeres en execución nos principais provedores de nube, que se mostra nun panel que mostra o custo mensual de cada clúster. Os prezos da memoria RAM, do tempo de CPU, da GPU e do subsistema de disco desagregan por compoñente de Kubernetes (contedor, pod, servizo, etc.)

Kubecost tamén fai un seguimento do custo dos recursos fóra do clúster, como os cubos de Amazon S3, aínda que se limita a AWS. Os datos de custos pódense enviar a Prometheus para que poida utilizalos para cambiar o comportamento do clúster mediante programación.

Kubecost é gratuíto sempre que 15 días de datos de rexistro sexan suficientes para ti. Para funcións adicionais, os prezos comezan en 199 dólares mensuais para o seguimento de 50 nodos.

KubeDB: Execución de bases de datos de combate en Kubernetes

As bases de datos tamén son bastante difíciles de executar de forma eficaz en Kubernetes. Atoparás operadores de Kubernetes para MySQL, PostgreSQL, MongoDB e Redis, pero todos teñen inconvenientes. Ademais, o conxunto de funcións típico de Kubernetes non resolve directamente os problemas máis específicos das bases de datos.

KubeDB axúdache a crear as túas declaracións de Kubernetes para xestionar bases de datos. A execución de copias de seguridade, a clonación, o seguimento, as instantáneas e a creación de bases de datos declarativas son os seus compoñentes. Ten en conta que a compatibilidade con funcións pode variar segundo a base de datos. Por exemplo, crear un clúster funciona para PostgreSQL, pero non para MySQL (xa hai, como ben sinalado dnbstd, aprox. tradutor).

Kube-monkey: Chaos Monkey para Kubernetes

O método máis libre de erros de probas de tensión considérase que son as avarías aleatorias. Esa é a teoría detrás de Chaos Monkey de Netflix, unha ferramenta de enxeñería caótica que apaga aleatoriamente máquinas virtuais e contedores de produción para "incentivar" aos desenvolvedores a construír sistemas máis resistentes. Kube-mono — implementación da mesma teoría básica de probas de tensión para clusters de Kubernetes. Funciona eliminando as vainas aleatoriamente no clúster que designas e tamén se pode configurar para executarse nun intervalo de tempo específico.

Controlador de entrada de Kubernetes para AWS

Kubernetes ofrece un equilibrador de carga externo e servizos de redes de clúster mediante un servizo chamado Ingreso AWS ofrece funcionalidade de equilibrio de carga, pero non a vincula automaticamente ás mesmas capacidades de Kubernetes. Controlador de entrada de Kubernetes para AWS pecha esta brecha.

Xestiona automaticamente os recursos de AWS para cada obxecto de entrada no clúster, creando equilibradores de carga para novos recursos de entrada e eliminando equilibradores de carga cando se eliminan os recursos. Usa CloudFormation para garantir que o estado do clúster segue sendo consistente. Tamén admite a configuración de alarma de CloudWatch e xestiona automaticamente outros elementos utilizados no clúster, como certificados SSL e grupos de escalado automático EC2.

Kubespray: instalación automática de Kubernetes

Kubespray automatiza a instalación dun clúster de Kubernetes preparado para a produción, desde a instalación en servidores de hardware ata as principais nubes públicas. Usa Ansible (Vagrant - opcional) para executar a implantación e crear un clúster altamente dispoñible desde cero coa túa elección de complemento de rede (como Flannel, Calico e outros) na distribución popular de Linux que escolliches cando está instalado en servidores de hardware.

Skaffold: Desenvolvemento iterativo para Kubernetes

Patín - unha das ferramentas de Google utilizadas para organizar aplicacións de CD en Kubernetes. En canto realizas cambios no código fonte, skaffold detecta isto automaticamente, comeza a construír e implementar e avisache se hai algún erro. Skaffold execútase completamente no lado do cliente, polo que pode haber problemas menores de instalación ou actualización. Pódese usar con canalizacións CICD existentes e tamén pode interactuar con algunhas ferramentas de construción externas, principalmente Bazel de Google.

Teresa: O PaaS máis sinxelo de Kubernetes

Teresa é un sistema de implantación de aplicacións que executa un PaaS sinxelo enriba de Kubernetes. Os usuarios organizados en equipos poden implantar e xestionar as aplicacións que posúen. Isto facilita un pouco as cousas ás persoas que confían na aplicación e non queren xestionar Kubernetes e todas as súas complexidades.

Tilt: transmisión de actualizacións de contedores para clústeres de Kubernetes

Inclinarse, desenvolvido por Windmill Engineering, observa os cambios en diferentes Dockerfiles e, a continuación, desprega gradualmente os contedores correspondentes nun clúster de Kubernetes. Esencialmente, permítelle actualizar o seu clúster de produción en tempo real simplemente actualizando Dockerfiles. Tilt constrúese dentro do clúster, o código fonte é todo o que hai que cambiar. Tamén podes facer unha instantánea da saúde do clúster e capturar as condicións de erro directamente desde Tilt para compartir cos membros do equipo para a depuración.

PD Utilizamos varias veces todas estas ferramentas Southbridge sondadas coas nosas mans curiosas. Para presentar prácticas reais xa (esperemos!) en cursos intensivos offline en febreiro. Base Kubernetes 8–10 de febreiro de 2021. E Kubernetes Mega 12-14 de febreiro. Sinceramente, tamén botamos de menos a atmosfera cálida e cargada de enerxía da aprendizaxe sen conexión. Por moi avanzadas que sexan as tecnoloxías, non poden substituír a comunicación humana en directo e unha atmosfera especial cando se reúnen persoas con ideas afines.

Fonte: www.habr.com

Engadir un comentario