Ingress Controller有很多实现方式,如Kubernetes官方,Nginx官方,Kong,Traefik等等,下面对以下三种不同的Ingress Controller进行性能测试,Kubernetes Ingress VS Nginx Ingress(Nginx官方出品)VS Traefix Ingress。
[阅读全文]ingress-nginx 性能压测
Ingress是目前Kubernetes集群流量接入的重要入口,了解其性能指标有助于用户选用合适的网络方案。
[阅读全文]ingress-nginx 高并发实践
Nginx Ingress Controller 基于 Nginx 实现 Kubernetes Ingress API。Nginx 是一款高性能网关,在实际生产环境运行时,需要对参数进行调优,以保证其充分发挥高性能的优势。
本文将介绍针对 Nginx Ingress 全局配置与内核参数调优的方法及其原理,让 Nginx Ingress 更好的适配高并发业务场景。
[阅读全文]ingress-nginx在TKE上部署的最佳实践
Nginx Ingress 有多种部署方式,本文将介绍 Nginx Ingress 在 TKE 上的一些部署方案,这几种方案的原理、各自优缺点以及一些选型和使用上的建议。
[阅读全文]ingress-nginx的安装使用
开源的 Ingress Controller 的实现使用量最大的莫过于 Ingress Nginx 了,可作为反向代理将外部流量导入集群内部,将 Kubernetes 内部的 Service 暴露给外部,在 Ingress 对象中通过域名匹配 Service,这样就可以直接通过域名访问到集群内部的服务了。
实际 Ingress Nginx 有两种实现:
第一种是 Kubernetes 开源社区的实现,第二种是 Nginx 官方的实现,我们通常用的是 Kubernetes 社区的实现,这也是本文所关注的重点。
[阅读全文]Kubernetes API资源的使用
使用哪个API Group 和Version呢?
在使用Kubernetes
的时候,因为有太多的资源、太多的版本、太多的组了,这些都非常容易产生混淆。如果我们通过 YAML 文件定义过 Deployment 这样的资源清单文件的话,那么你应该会看到apiVersion: apps/v1beta2
、apiVersion: apps/v1
等等这样的信息,那么我们到底应该使用哪一个呢?哪一个才是正确的呢?如何检查Kubernetes
集群支持哪些?其实我们使用kubectl
工具就可以来解决我们的这些疑惑。
当前我使用的Kubernetes
的版本是1.18.8
。
使用Kind快速构建Kubernetes集群
现在安装 Kubernetes 集群已经变得越来越简单了,出现了很多方案,各种方案都有自己适合的使用场景。虽然我们可以很快速在云环境下面启动一个 Kubernetes 集群,但是对于开发人员通常更喜欢能够快速上手的东西,Kubernetes in Docker(Kind)这个工具就可以通过创建容器来作为 Kubernetes 的节点,我们只需要在机器上安装 Docker 就可以使用,它允许我们在很短的时间内就启动一个多节点的集群,而不依赖任何其他工具或云服务商。
前面的文章也讲过如何在本地使用Vagrant来快速搭建Kubernetes集群,但还是有点麻烦,而且需要自己去定制Vagrant Box,有一定的技术门槛。
[阅读全文]kubernetes Ingress 自动化 HTTPS
使用Cert Manager为Kubernetes Ingress自动签发证书
现在的Web应用启用HTTPS
服务是真的非常有必要的。一些正规机构颁发的CA
证书费用又特别高,不过比较幸运的是也有免费的午餐 - Let's Encrypt
,虽然只有90天的证书有效期,但是我们完全可以在证书失效之前,重新生成证书替换掉。在Kubernetes
集群中就更方便了,我们可以通过 Kubernetes Ingress 和 Let’s Encrypt 实现外部服务的自动化 HTTPS。
Cert-Manager 是一个云原生证书管理开源项目,用于在 Kubernetes 集群中提供 HTTPS 证书并自动续期,支持 Let’s Encrypt / HashiCorp / Vault 这些免费证书的签发。
kubernetes持久化存储(二)
StorageClass的使用
前面的文章里我们学习了 PV
和 PVC
的使用方法,但是前面的 PV 都是静态的,什么意思呢?就是我要使用的一个 PVC 的话就必须手动去创建一个 PV,我们也说过这种方式在很大程度上并不能满足我们的需求,比如我们有一个应用需要对存储的并发度要求比较高,而另外一个应用对读写速度又要求比较高,特别是对于 StatefulSet
类型的应用简单的来使用静态的 PV 就很不合适了,这种情况下我们就需要用到动态 PV,也就是我们今天要讲解的 StorageClass
。
kubernetes持久化存储(一)
PV和PVC的使用
Kubernetes提供了可靠的存储来保存应用的持久化数据,这样容器在重建后,依然可以使用之前的数据。但是显然存储资源和 CPU 资源以及内存资源有很大不同,为了屏蔽底层的技术实现细节,让用户更加方便的使用,Kubernetes
便引入了 PV
和 PVC
两个重要的资源对象来实现对存储的管理。
使用kubeadm搭建Kubernetes集群
之前使用二进制Hard-Way模式搭建了Kubernetes三节点集群,今天采用Kubeadm 来快速搭建Kubernetes V1.16.8集群。
[阅读全文]使用二进制搭建kubernetes三节点高可用集群
Kubernetes 是一个开源容器编排引擎,用于容器化应用的自动化部署、扩展和管理。该项目托管在 CNCF。你可以通过阅读 官方文档了解Kubernetes和其基础概念。
接下来这篇文章将介绍如何使用二进制部署Kubernetes v1.14.8
。通过这种hard-way
的方式来帮助你更好的了解Kubernetes。
Kubernetes Cluster搭建的过程,可以参考和我一步步部署 kubernetes 集群。我将其中的脚本整理好了,并通过Vagrant和VirtualBox在本地快速创建k8s集群。
Github地址如下: https://github.com/amuguelove/k8s-setup-tutorial/tree/v1.14.8
[阅读全文]