前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubernetes-9:nginx-ingress容器化

kubernetes-9:nginx-ingress容器化

作者头像
千里行走
发布2019-07-03 18:06:14
1.5K0
发布2019-07-03 18:06:14
举报
文章被收录于专栏:千里行走千里行走

提供helm/yaml容器化nginx-ingress的方式;

如果可能,尽量用公有云提供的ingress-nginx支持,方便快捷易维护,且可以直接通过便宜方式挂载到公有云的SLB上。

正文

(1).容器化组件

容器化成功后的组件:

所有相关组件:

(2).helm容器化方式

由于helm容器化nginx-ingress使用的镜像地址是k8s,网很慢/不通,所以需要从hub.docker.com下载后对镜像重命名:

(注意尽量从大公司的镜像下载,否则可能有不可知/很奇怪的错误,公司用最好从阿里云官方/k8s官方镜像下载,然后push到公司私有镜像仓库)

下载并重命名nginx-ingress-controller镜像:

docker pullibmcom/nginx-ingress-controller:0.23.0

重命名镜像为:quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.21.0

docker images |grepnginx-ingress-controller |awk '{print "docker tag",$1":"$2,$1":"$2}' |sed -e 's#ibmcom\/nginx-ingress-controller#quay\.io\/kubernetes-ingress-controller\/nginx-ingress-controller#2'|sh -x

下载并重命名defaultbackend-amd64镜像:

docker pullgooglecontainer/defaultbackend:1.4

重命名镜像为:k8s.gcr.io/defaultbackend

docker images |grep defaultbackend-amd64|awk '{print "docker tag ",$1":"$2,$1":"$2}' |sed-e 's#googlecontainer\/defaultbackend-amd64#k8s\.gcr\.io\/defaultbackend#2' |sh-x

执行helm容器化命令:

helm install --name nginx-ingress-min--namespace nginx-ingress-min --set controller.image.tag=0.23.0stable/nginx-ingress

--name:容器中helm组件命名;

--namespace:指定部署到的命名空间;

--set:指定详细配置参数;

controller.image.tag:指定controller镜像版本;

(3).yaml容器化方式

ingress-nginx主要包含两个组件,ingress-nginx-controller和ingress-nginx-backend,前者提供配置功能,后者提供代理服务。

笔者提供了yaml方式的配置文件,位于:

https://github.com/hepyu/k8s-app-config/tree/master/yaml/min-cluster-allinone/ingress-nginx-min

提供了shell脚本直接部署:shdeploy.sh

另外,在此目录下的proxy中,提供了代理各个基础中间件和辅助组件的yaml配置文件:

进入此目录,直接执行如下命令即可部署:

kubectl apply -f .

组件如下,与helm方式一样:

(4).ingress-nginx配置参数

在ingress-nginx-deployoment.yaml中有一个configmap的组件,在这里配置所有的nginx参数,如下图,配置了proxy-body-size:”600m”,表示ingress-nginx支持的请求数据的上限是600m。

其他参数请参见ingress-nginx官网查询,不同版本有可能配置方式不同。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 千里行走 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档