记contour 偶发404问题排查

2020-05-30
阅读 3 分钟
1.8k
最近我们生产环境升级了 contour 到1.4.0版本,用户反映偶发404问题。 经过简单测试,只在通过浏览器访问启用了https的网站上会偶发404。 我们的一个项目httpproxy如下: {代码...} 查看envoy的accesslog 可以看到: {代码...} 考虑是和SNI相关。 此时万能的github 搜索一下。果然已经有其他人踩到坑了。 I've found a s...

谈谈stop容器

2020-05-30
阅读 8 分钟
2.4k
容器内的主进程(PID为1的进程)将收到SIGTERM,并在宽限期之后收到SIGKILL。在容器中的应用程序,可以选择忽略和不处理SIGTERM信号,不过一旦达到超时时间,程序就会被系统强行kill掉,因为SIGKILL信号是直接发往系统内核的,应用程序没有机会去处理它。

小试 cdk8s

2020-05-29
阅读 5 分钟
1.5k
cdk8s是一个由aws开源的软件开发框架,用于使用熟悉的编程语言和丰富的面向对象的API定义Kubernetes应用程序和可重用的抽象。 cdk8s生成纯Kubernetes YAML--您可以使用cdk8s为在任何地方运行的任何Kubernetes集群定义应用程序。

您可以在Kubernetes中使用API​​网关公开微服务吗?

2020-05-26
阅读 6 分钟
2k
在Kubernetes中,Ingress是一个组件,可将流量从群集外部路由到群集中的服务和Pod。 简而言之,Ingress充当反向代理或负载平衡器:所有外部流量都路由到Ingress,然后路由到其他组件。 尽管最受欢迎的Ingress是ingress-nginx项目,但是在选择和使用Ingress时还有其他几种选择。 您可以从以下Ingress控制器中选择: 处理...

Open Policy Agent:简化了微服务授权

2020-05-26
阅读 4 分钟
6.9k
随着微服务的发展,经常遇到实施身份验证和授权(A&A)的问题。我们需要一个强大且集中管理的身份验证和授权策略。但是,应用程序的分布式性质使其难以实现。在本文中,我将探讨Open Policy Agent如何帮助简化授权问题。

contour: 一款高性能的Ingress controller

2020-05-24
阅读 4 分钟
2.3k
在讲contour之前,我们先讲什么是ingress? Ingress 公开了从集群外部到集群内 services 的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源上定义的规则控制。 可以将 Ingress 配置为提供服务外部可访问的 URL、负载均衡流量、终止 SSL / TLS,以及提供基于名称的虚拟主机。 Ingress 不会公开任意端口或协议。 将 HTTP ...

Skupper:让你的服务跨Kubernetes集群通信

2020-05-24
阅读 3 分钟
3.1k
在过去的几年中,容器的普及和采用猛增,并且Kubernetes容器编排平台也被广泛采用。通过这些更改,在处理现实世界中部署在Kubernetes集群上的应用程序时,出现了一系列新的挑战。挑战之一是如何处理可能位于不同网络(甚至是私有网络),防火墙之后的多个群集之间的通信。

通过Service Mirroring 实现多集群K8S

2020-05-23
阅读 4 分钟
2k
在本文中,我们将提出一种我们认为满足这些约束的解决方案,称为服务镜像。为了符合Linkerd的“保持简单”的设计原则,我们已竭尽全力以纯Kubernetes原语构建此解决方案,并消除了对Linkerd本身的任何依赖。这使我们能够使任何解决方案尽可能接近Kubernetes本身。换句话说,网格应该做的更少,而不是更多。

使用kubernetes的10个最常见错误

2020-05-22
阅读 5 分钟
1.6k
在我们多年使用kubernetes的经验中,我们有幸看到了很多集群(在GCP,AWS和Azure上都是托管的和非托管的),并且我们看到一些错误在不断重复。

三种方式本地运行Knative

2020-05-21
阅读 10 分钟
2.5k
Knative的一个问题是在本地运行它。 Kubernetes非常庞大,在它之上运行另一个平台是一个非常困难的事情。今天,我们将介绍一些不同的方法来测试Knative,而不会过多占用您的计算机。

POD的内存限制 和 OOM Killer

2020-05-21
阅读 7 分钟
4.9k
在过去的几天中,我的某些Pod持续panic,并且OS Syslog显示OOM Killer杀死了容器进程。我做了一些研究,以找出这些东西是如何工作的。

十大必须知道的Kubernetes设计模式

2020-05-19
阅读 3 分钟
3k
这是从Kubernetes Patterns本书综合的初学者必知的十大设计模式。熟悉这些模式将帮助您理解Kubernetes的基本概念,从而在讨论和设计基于Kubernetes的应用程序时为您提供帮助。

谷歌机器学习实战的7个步骤:用于结构化数据的TensorFlow示例

2020-05-18
阅读 11 分钟
5.9k
互联网上有很多很棒的机器学习教程。但是,它们大多数都专注于机器学习的特定部分,例如,探索数据,建立模型,训练和评估。其中很少有人介绍构建机器学习模型的完整步骤。

跟我一起学Knative(9)--集成Camel-K

2020-05-18
阅读 16 分钟
2.5k
在一般的大型IT组织中,很少有人会构建完全隔离的新应用程序,而该应用程序会与所有其他旧系统或新系统完全分离。许多实时用例要求新旧系统共享和交换数据。

跟我一起学Knative(8)--可观察性

2020-05-18
阅读 3 分钟
1.8k
可观察性,即监视服务和检查跟踪的能力,对于任何事件驱动的分布式系统而言,都是至关重要的体系结构。 安装 安装可观察性功能,以在服务和事件组件中启用日志记录,指标和请求跟踪。 所有可观察性插件都要求您首先安装core: {代码...} 安装core后,您可以选择安装以下一个或所有可观察性插件: metrics 1:运行以下命...

跟我一起学Knative(7)--Knative Eventing

2020-05-17
阅读 24 分钟
1.9k
Knative Eventing是一个旨在满足云原生开发的常见需求的系统,并提供可组合的原语以启用后期绑定事件源和事件使用者。具备以下设计目标:

跟我一起学Knative(6)--部署gRPC服务

2020-05-17
阅读 9 分钟
2k
本文主要利用Knative Serving 部署一个gRPC服务。 此示例可用于在knative服务中试用gRPC,HTTP / 2和自定义端口配置。 容器镜像由两个二进制文件构建:服务器和客户端。这样做是为了便于测试,不建议将其用于生产容器。 构建和部署示例代码 1:clone代码仓库 {代码...} 使用Docker来为此服务构建容器镜像,并将其推送到D...

跟我一起学Knative(5)--通过蓝/绿部署路由和管理流量

2020-05-17
阅读 5 分钟
1.6k
本文演示了使用蓝/绿部署模式将应用程序更新到新版本。使用Knative,您可以通过更改路由配置将流量从应用程序的实时版本安全地重新路由到新版本。

跟我一起学Knative(4)--Serving 自动扩缩容

2020-05-17
阅读 14 分钟
3.4k
Knative共用单个共享自动缩放器。默认情况下,这是Knative Pod自动缩放器(KPA),开箱即用即可提供基于请求的快速自动缩放功能。

跟我一起学Knative(3)--Knative Seving部署模型

2020-05-17
阅读 3 分钟
2.4k
在我们部署Knative Serving service 之前,重要的是要了解其部署模型和构成Knative服务的Kubernetes资源。

跟我一起学Knative(2)--Knative Serving

2020-05-15
阅读 17 分钟
3k
Knative 组件包含两个大的领域,分别是Serving和Event。今天我们主要部署Serving部分。Serving,即服务,基于Kubernetes的crd提供缩容至零、请求驱动的计算功能。它本质上是无服务器平台的执行和扩展组件。主要有以下特性:

跟我一起学Knative(1)--Knative 简介

2020-05-15
阅读 2 分钟
2.1k
如同许多新的概念一样,Serverless目前还没有一个普遍公认的权威的定义。最新的一个定义是这样描述的:“无服务器架构是基于互联网的系统,其中应用开发不使用常规的服务进程。相反,它们仅依赖于第三方服务(例如AWS Lambda服务),客户端逻辑和服务托管远程过程调用的组合。”

避免在Docker镜像下将NodeJS作为PID 1运行

2020-05-12
阅读 4 分钟
3.4k
在[链接],我们使用的思想是“每个Docker容器一个进程”。当然,我们也将这种思想应用于运行集成组件。因此,我们的每个集成组件实际上都是一个Docker容器内部的一个进程,并且每个Docker容器都在Mesosphere和Kubernetes上运行。

Multi-Cluster Ingress

2020-05-12
阅读 3 分钟
1.5k
Ingress是现有的各种负载均衡器的Kubernetes抽象。例如,有本地负载平衡器,Amazon ELB / ALB,Google Cloud Platform负载平衡器,Digital Ocean负载平衡器,此列表不胜枚举。用户只需编写一个Ingress规范,然后由IngressController负责配置负载均衡器。配置后,将为用户提供一个IP地址,可以在其中访问其服务。

Kubernetes部署弹性Airflow集群

2020-05-08
阅读 6 分钟
4.5k
通过水平Pod自动缩放器支持Kubernetes中的自动缩放。使用HPA,可以直接进行横向扩展,HPA可以为部署增加副本,并可以创建其他worker来共享工作负载。但是,伸缩是问题所在,伸缩过程会根据Pod在节点上的位置对它们进行排序,从而选择要终止的Pod。因此,如果有一个Pod仍在进行某些处理,则无法保证它不会被终止。

技术杂言--"不安分"的VictoriaMetrics

2020-05-06
阅读 2 分钟
2.9k
之前说过由于Prometheus强大的exporter生态和服务发现等诸多优点,其他各种长期存储,只能选择融入到Prometheus的生态中。

通过CNI Chaining 为k8s 插上Cilium翅膀

2020-04-30
阅读 12 分钟
3.7k
在介绍CNI Chaining之前,我们先简单介绍一下Cilium。要说现在最火的容器网络,莫过于Cilium了。Cilium 是一个基于 eBPF 和 XDP 的高性能容器网络方案,代码开源在[链接]。其主要功能特性包括

Spring boot2.3.0 遇见 Kubernetes

2020-04-30
阅读 4 分钟
2.4k
Spring Boot 是常用 Java 微服务框架之一。Spring Cloud 拥有一组丰富的、良好集成的 Java 类库,用于应对 Java 应用程序堆栈中发生的运行时问题;而 Kubernetes 则提供了丰富的功能集来运行多语言微服务。这些技术彼此互补,为 Spring Boot 应用程序提供了强大的平台。

官方下一代Docker镜像构建神器 -- BuildKit

2020-04-29
阅读 3 分钟
5.1k
BuildKit是Docker官方社区推出的下一代镜像构建神器--可以更加快速,有效,安全地构建docker 镜像。Docker v18.06已经集成了该组件。BuildKit可用于多种导出格式(例如OCI或Docker)以及前端支持(Dockerfile),并提供高效缓存和运行并行构建操作等功能。BuildKit仅需要容器运行时就能执行,当前受支持的运行时包括cont...

在Kubernetes上对Envoy,HAProxy和NGINX性能进行基准测试

2020-04-29
阅读 4 分钟
7k
在典型的Kubernetes部署中,所有流向Kubernetes服务的流量都通过一个ingress进行。Ingress将代理从Internet到后端服务的流量,因此,入口处于性能的关键路径上。有多种基准测试方法并衡量效果。