Autor | Chen Jie, Gao Xianglin, Chen Youkun, Ao Xiaojian
Noticias de la industria
El proyecto Argo es un conjunto de herramientas nativas de Kubernetes para ejecutar y administrar trabajos y aplicaciones en Kubernetes. Actualmente consta de cuatro subproyectos: Argo Workflows, Argo Events, Argo CD y Argo Rollouts. El 8 de abril, el Comité de Supervisión Técnica (TOC) de la CNCF votó para aceptar a Argo como un proyecto de custodia a nivel de incubación.
Argo CD lanza la versión v1.5. V1.5 se ha optimizado en gran medida en el rendimiento al tiempo que reduce la presión sobre el APIServer. Además, v1.5 también es compatible con los gráficos Helm 3.
El 7 de abril, la Cumbre CloudNative se celebró en vivo en YouTube, la cual presentó principalmente los últimos avances de los proyectos de graduación de CNCF (incluidos Kubernetes, Prometheus, Envoy, Jaeger, etc.) y discutió algunas nuevas tendencias en las tecnologías nativas de la nube en el futuro.
Afectados por la epidemia de COVID-19, la mayoría de las personas han comenzado el modo de oficina en casa y sus relaciones sociales se han extendido, tanto en términos de salud física como mental. El Grupo de Trabajo de Bienestar de CNCF proporciona una guía de trabajo durante el brote, que incluye respuestas a algunas preguntas y sugerencias comunes.
Debido a COVID-19, los mantenedores de Helm decidieron extender el tiempo de servicio de reparación de errores de Helm v2.
Progreso importante aguas arriba
Optimizó la lógica de kubectl apply para aplicar tantos recursos efectivos como sea posible en YAML.
Admite ejecutar kubelet en la máquina de modo unificado cgroup v2. Al mismo tiempo, se realizó la conversión de cpu.shares (valor umbral 2-262144) a cpu.weight (valor umbral 1-10000).
Una métrica de uso de tamaño de db etcd está expuesta en el lado del servidor.
Se resolvió un error que no verificaba los resultados del Selector. Actualmente utiliza labels.SelectorFromSet, si falla el análisis (por ejemplo, el valor de la etiqueta se llena incorrectamente con un valor largo), se devolverá un Selector vacío, lo que dará como resultado la filtración de todos los recursos.
El planificador optimizó el rendimiento al calcular la puntuación de afinidad y movió un bloqueo de lectura-escritura dentro del bucle a la capa más externa de la rutina (optimizó la granularidad del bloqueo).
Cuando se usa el punto final de descubrimiento, la preparación se informa después de que se completa el estado de sincronización CRD, lo que resuelve el problema de que el punto de entrada de descubrimiento no estará disponible temporalmente después de que se inicie.
Cuando Kubelet realiza un desalojo por solicitud, actualmente solo utiliza PodPriority para ordenar. Este KEP planea agregar más datos a nivel de proceso (como el número de procesos en el Pod) para realizar el desalojo.
Admite el escalado automático basado en recursos a nivel de contenedor, porque los siguientes escenarios especiales pueden existir en un solo Pod:
- Múltiples contenedores tienen diferentes umbrales de recursos;
- Hay varios contenedores, pero el escalado automático solo se basa en el umbral de recursos de un solo contenedor.
Este documento de diseño considera principalmente cómo implementarlo, y enumera cuatro métodos y sus ventajas y desventajas: los cuatro métodos son usar la definición de K8 directamente, ponerlos directamente en las variables de entorno, usar la descripción de la anotación y usar la descripción personalizada Knative.
Los últimos resultados de discusión del grupo de trabajo de Istio Networking decidieron eliminar a Galley de Istio 1.6: la verificación de responsabilidad original de Galley y los controladores de estado se han fusionado en Istiod, y los deberes restantes de Galley MCP Source serán Eliminar directamente Nota: La función MCP todavía existe e Istiod conserva el rol de sincronización MCP.
Recomendación de proyecto de código abierto
BotKube es una aplicación que monitorea los grupos de Kubernetes y proporciona servicios de alarma. Admite enviar mensajes a Slack, Mattermost y ElasticSearch. Filtra los eventos de Kubernetes a través de reglas y proporciona alertas específicas. También proporciona algunas comprobaciones YAML fijas de los recursos en el clúster actual.
PrometheusAlert es un sistema de reenvío de mensajes para el centro de alarmas de operación y mantenimiento. Admite los mensajes de advertencia enviados por los sistemas de monitoreo convencionales Prometheus, Zabbix, el sistema de registro Graylog y el sistema de visualización de datos Grafana, y admite varios métodos de alarma convencionales como clavos.
Una base de datos SQL distribuida nativa de la nube de alto rendimiento, adecuada para aplicaciones OLTP nativas de la nube, con alta escalabilidad, tolerancia a fallas y soporte para tolerancia a desastres fuera del sitio.
Recomendación de lectura esta semana
Con la iteración de la versión de Kubernetes, algunas API han quedado obsoletas gradualmente. Este artículo describe cómo usar Deprek8, una herramienta basada en las reglas de Open Policy Agent, para verificar si YAML en su repositorio se refiere a la API en desuso.
El artículo presenta el mecanismo de QoS en Kubernetes en detalle, y presenta el proceso del proceso Kill de Linux después de OOM y cómo desalojar los pods en Kubernetes.
El artículo profundiza en los puntos clave de CI / CD, incluido el control de versiones, ramas y patrones de desarrollo, canalizaciones de lanzamiento y pruebas automatizadas.
Introdujo las nuevas características en la aplicación del lado del servidor en Kubernetes 1.18. ManagedFields se agregó en 1.18. Todas las solicitudes del lado del servidor se registran en mangedFields, incluidos los campos modificados, la hora modificada y la persona modificada.
El seminario web nativo de Cloud te invita a participar
Haga clic para programar una transmisión en vivo ahora
" Alibaba Cloud Native se enfoca en microservicios, sin servidor, contenedores, malla de servicio y otros campos técnicos, se enfoca en tendencias de tecnología popular nativa en la nube, prácticas de aterrizaje a gran escala nativas en la nube, y es el número público que entiende mejor a los desarrolladores nativos en la nube.