「Kubernetes」- 部署NGINX Ingress Controller组件 @20210131

内容简介

本文介绍如何部署NGINX Ingress Controller组件。

注意事项

在参照官方「Installation Guide」文档并结合自身需求后,我们整理出此文。我们强烈建议参照官方文档并结合自己的环境进行部署。

系统环境

  
系统环境:CentOS Linux release 7.4.1708 (Core)
软件版本:Kubernetes v1.12.1
 Docker version 18.06.1-ce, build e68fc7a
 Helm v3.0.0-beta.3
网络信息:k8s-master[1-3]:10.10.50.91 - 93
 node[1-6]:10.10.50.81 - 86
 VIP:10.10.50.90

# 部署过程(适用于我们的环境)

# 附加说明

1)在默认配置中,会监视在所有命名空间中的Ingress对象。如果要改变这个行为,需要指定--watch-namespace选项,来限制到特定命名空间。
2)如果为同个主机名定义多个不同路径,则Ingress Controller将合并定义。

第一步、常规部署

我们按自己需求定制「mandtory.yaml」配置文件,并应用:

#!/bin/sh

kubectl apply -f mandatory.yaml

第二步、环境特定

在minikube、AWS、Azure中,需要执行不同的命令(详细参考官方「Installation Guide」文档)。

在自建Kubernetes集群中,需要执行如下命令:

#!/bin/sh

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/service-nodeport.yaml

第三步、查看状态

查看NGINX Ingress Controller组件的状态:

#!/bin/sh

kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch

第四步、定义资源进行测试

当部署NGINX Ingress Controller组件部署完成时,可以定义Ingress、Server、Deployment资源进行验证。

(1)定义资源文件(example.yaml),并应用:

#!/bin/sh

kubectl apply -f example.yaml

(2)绑定HOST域名,然后在浏览器中访问。(详细过程略过)。

# 附加说明(重要)

部署Ingress Controller时,不建议使用DaemonSet类型,而应该使用Deployment类型,然后将POD示例固定在某个节点上。为什么?假如你的集群有1000个节点时…………

# 简单管理

#!/bin/sh

kubectl exec -it -n <namespace-of-ingress-controller> nginx-ingress-controller-67956bf89d-fv58j cat /etc/nginx/nginx.conf

kubectl exec -it $POD_NAME -n $POD_NAMESPACE -- /nginx-ingress-controller --version

相关连接

GitHub/nginxinc/kubernetes-ingress
GitHub/nginxinc/kubernetes-ingress/deployments/

参考文献

WikiNotes/部署NGINX Ingress Controller组件
Installing the Ingress Controller
NGINX Ingress Controller for Kubernetes
NGINX Ingress Controller/Installation Guide
k8s之nginx-ingress、 Daemonset实现生产案例
Accessing Kubernetes Pods from Outside of the Cluster
ingress is not listening on port 80 #4799
NGINX Ingress Controller/Troubleshooting

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值