ingress-nginx 高并发实践

Nginx Ingress Controller 基于 Nginx 实现 Kubernetes Ingress API。Nginx 是一款高性能网关,在实际生产环境运行时,需要对参数进行调优,以保证其充分发挥高性能的优势。

本文将介绍针对 Nginx Ingress 全局配置与内核参数调优的方法及其原理,让 Nginx Ingress 更好的适配高并发业务场景。

[阅读全文]

ingress-nginx的安装使用

开源的 Ingress Controller 的实现使用量最大的莫过于 Ingress Nginx 了,可作为反向代理将外部流量导入集群内部,将 Kubernetes 内部的 Service 暴露给外部,在 Ingress 对象中通过域名匹配 Service,这样就可以直接通过域名访问到集群内部的服务了。

实际 Ingress Nginx 有两种实现:

  1. https://github.com/kubernetes/ingress-nginx
  2. https://github.com/nginxinc/kubernetes-ingress

第一种是 Kubernetes 开源社区的实现,第二种是 Nginx 官方的实现,我们通常用的是 Kubernetes 社区的实现,这也是本文所关注的重点。

[阅读全文]

kubernetes Ingress 自动化 HTTPS

使用Cert Manager为Kubernetes Ingress自动签发SSL证书

现在的Web应用启用HTTPS服务是真的非常有必要的。一些正规机构颁发的CA证书费用又特别高,就算有免费的工具颁发证书,通过人工的方式手动注入到K8S比较麻烦,而且还需要到期后进行人工续期,若管理的证书过多,还无法颁发泛域名的话,那就更加麻烦了。

这里介绍一下免费的午餐 - Let's Encrypt,虽然只有90天的证书有效期,但是我们完全可以在证书失效之前,重新生成证书替换掉。在Kubernetes集群中就更方便了,我们可以通过 Kubernetes Ingress 和 Let’s Encrypt 实现外部服务的自动化 HTTPS。

Cert-Manager 是一个云原生证书管理开源项目,用于在 Kubernetes 集群中提供 HTTPS 证书并自动续期,支持 Let’s Encrypt / HashiCorp / Vault 这些免费证书的签发。

cert-manager-structrue

[阅读全文]