概述
NGINX控制器技术规格
目录
1.NGINX控制器技术规格
1.1.总览
1.2.支持的发行版
1.3.分析,可见性和报告后台程序(AVRD)
1.4.支持的部署环境
1.5.NGINX Plus实例
1.6.NGINX App保护
1.7.支持的浏览器
1.8.硬件规格
1.9.NGINX控制器数据库要求
1.9.1.本地或外部存储
1.9.2.Local Storage
1.9.3.NFS
1.9.4.AWS EBS
1.10.支持的PostgreSQL版本
1.11.防火墙/IP设置
1.12.支持的Python版本
1.13.开源许可证
1.NGINX控制器技术规格
1.1.总览
本指南列出了NGINX Controller v3和NGINX Controller Agent的技术建议。 在安装或更新NGINX控制器或NGINX控制器代理之前,请阅读本指南。
1.2.支持的发行版
NGINX控制器,NGINX控制器代理和NGINX控制器应用程序安全性支持以下发行版和体系结构:
发行版 | 版本 | CPU 体系结构 | NGINX Controller (Control Plane) | Controller Agent (Data Plane) | 备注 |
---|---|---|---|---|---|
Amazon Linux | 2 | x86_64 | v3.0+ | ||
Amazon Linux | 2017.09+ | x86_64 | v3.0+ | ||
CentOS | 6.0 (6.5+) | i386 x86_64 | v3.0+ | • 此发行版不支持 AVRD. | |
CentOS | 7.0 (7.4+) | x86_64 | v3.0+ | v3.0+ (App Security supported) | • NGINX Controller App Security需要NGINX Controller 3.12或更高版本. |
Debian | 8 | i386 x86_64 | v3.0+ | • 此发行版不支持 AVRD. | |
Debian | 9 | i386 x86_64 | v3.0+ | v3.0+ (App Security supported) | • NGINX Controller App Security需要NGINX Controller 3.12或更高版本. • 仅NGINX控制器代理支持i386架构。 NGINX控制器和NGINX控制器应用程序安全性支持x86_64. |
Red Hat Enterprise Linux | 6.0 (6.5+) | i386 x86_64 | v3.0+ | ||
Red Hat Enterprise Linux | 7.0 (7.4+) | x86_64 | v3.5+ | v3.5+ (App Security supported) | • NGINX Controller App Security需要NGINX Controller 3.12或更高版本. • SELinux可能会干扰NGINX控制器的安装和操作。 如果确实启用SELinux,则必须使用许可模式。 不支持使用强制模式. |
Ubuntu | 16.04 LTS | i386 x86_64 | v3.0+ | v3.0+ | •仅NGINX控制器代理支持i386架构。 NGINX控制器和NGINX控制器应用程序安全性支持x86_64. |
Ubuntu | 18.04 LTS | x86_64 | v3.0+ | v3.0+ | |
Ubuntu | 20.04 LTS | x86_64 | v3.12+ |
1.3.分析,可见性和报告后台程序(AVRD)
NGINX Controller v3.1和更高版本使用Analytics,Visibility和Reporting守护程序(AVRD)来汇总和报告以应用程序为中心的指标,你可以使用这些指标来跟踪和检查应用程序的运行状况。 要了解有关这些指标的更多信息,请参见NGINX指标目录主题。
1.4.支持的部署环境
你可以将NGINX Controller v3部署到以下环境中:
- 裸机
- 公有云:Amazon Web Services,Google Cloud Platform,Microsoft Azure
- 虚拟机
1.5.NGINX Plus实例
使用控制器代理的NGINX控制器可以监视和管理多达100个NGINX Plus实例。 使用Controller App Security时,NGINX Controller可以监视和管理多达30个安装了NGINX App Protect的NGINX Plus实例。
NGINX控制器支持以下NGINX Plus版本:
NGINX Plus | NGINX Controller |
---|---|
R23 | v3.12+ |
R22 | v3.5+ |
R21 | v3.3+ |
R20 | v3.0+ |
R19 | v3.0+ |
注意:
NGINX Plus R22支持NGINX控制器应用程序安全性。
1.6.NGINX App保护
NGINX控制器应用程序交付模块的应用程序安全性加载项需要NGINX App Protect 2.1.1版和NGINX Plus R22。
- CentOS/Red Hat Enterprise Linux:
app-protect-22+3.243.1-1.el7.ngx.x86_64
- Debian:
app-protect=22+3.243.1-1~stretch
1.7.支持的浏览器
NGINX Controller与启用了JavaScript,Cookie和SSL的这些浏览器的最新版本和最新版本配合使用时效果最佳:
- Google Chrome
- Firefox
- Safari
- Internet Explorer、Microsoft Edge
1.8.硬件规格
每个运行NGINX Controller的节点都需要以下最低硬件规格:
- RAM: 8 GB RAM
- CPU: 8-Core CPU @ 2.40 GHz 或类似
- 磁盘空间: 80 GB 可用磁盘空间
NGINX控制器代理消耗的内存和CPU尽可能少。 CPU使用率应低于10%,RSS内存消耗应仅为几十MB。 如果你发现NGINX控制器代理以更高的速度消耗资源,则应联系NGINX支持以寻求帮助。
1.9.NGINX控制器数据库要求
1.9.1.本地或外部存储
安装NGINX Controller v3时,你可以选择用于存储分析数据库的容量的类型。 支持的容量类型为:
- Local Storage
- NFS
- AWS EBS
1.9.2.Local Storage
将本地存储用于分析数据库时,我们建议以下规格:
- 100 IOPS
- 130 GB 可用磁盘空间 (这是本地分析数据库的80 GB + 50 GB的标准建议)
- 如果启用了NGINX Controller App Security,建议使用230 GB的可用磁盘空间。 这包括80 GB的标准建议和用于本地分析数据库的额外150 GB。
提示:
为了节省IO和/或磁盘空间,可以将单独的磁盘用于本地存储目录/opt/nginx-controller/clickhouse_data
1.9.3.NFS
要将NFS用于分析数据库的外部存储,请考虑以下事项:
- 确保要安装NGINX Controller的客户端系统支持服务器使用的NFS版本。
- 如果你在NFS服务器上使用NFS v4文件锁定或网络锁定管理器(NLM),请确保运行NGINX控制器的客户端系统可以访问安装点。
- 在将要安装NGINX控制器的所有主机上安装
nfs-common
(在Ubuntu/Debian上)或nfs-utils
(在CentOS/RedHat)上)软件包。 - 必须为NFS服务器上的挂载点设置
no_root_squash
选项。 如果不允许这样做,则必须将用于分析数据库的路径的所有者设置为101:101
,并将配置数据库的路径的所有者设置为70:70
。
1.9.4.AWS EBS
(可选)要在将EBS 容量用于分析and/or配置数据库的AWS EC2实例上安装NGINX Controller,并允许自动创建ELB,请配置IAM角色,类似于以下示例。
重要:
如果你打算在AWS EC2实例上运行NGINX Controller,我们建议对外部容量使用NFS共享。 由于EBS可用区限制,不建议将EBS共享用于多节点群集。 例如,要求在同一可用区中具有EC2实例和EBS卷。
调整政策以满足你的需求。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeLaunchConfigurations",
"autoscaling:DescribeTags",
"ec2:DescribeInstances",
"ec2:DescribeRegions",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVolumes",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:ModifyInstanceAttribute",
"ec2:ModifyVolume",
"ec2:AttachVolume",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateRoute",
"ec2:DeleteRoute",
"ec2:DeleteSecurityGroup",
"ec2:DeleteVolume",
"ec2:DetachVolume",
"ec2:RevokeSecurityGroupIngress",
"ec2:DescribeVpcs",
"elasticloadbalancing:AddTags",
"elasticloadbalancing:AttachLoadBalancerToSubnets",
"elasticloadbalancing:ApplySecurityGroupsToLoadBalancer",
"elasticloadbalancing:CreateLoadBalancer",
"elasticloadbalancing:CreateLoadBalancerPolicy",
"elasticloadbalancing:CreateLoadBalancerListeners",
"elasticloadbalancing:ConfigureHealthCheck",
"elasticloadbalancing:DeleteLoadBalancer",
"elasticloadbalancing:DeleteLoadBalancerListeners",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DetachLoadBalancerFromSubnets",
"elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
"elasticloadbalancing:ModifyLoadBalancerAttributes",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:SetLoadBalancerPoliciesForBackendServer",
"elasticloadbalancing:AddTags",
"elasticloadbalancing:CreateListener",
"elasticloadbalancing:CreateTargetGroup",
"elasticloadbalancing:DeleteListener",
"elasticloadbalancing:DeleteTargetGroup",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeLoadBalancerPolicies",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"elasticloadbalancing:ModifyListener",
"elasticloadbalancing:ModifyTargetGroup",
"elasticloadbalancing:RegisterTargets",
"elasticloadbalancing:DeregisterTargets",
"elasticloadbalancing:SetLoadBalancerPoliciesOfListener",
"iam:CreateServiceLinkedRole",
"kms:DescribeKey"
],
"Resource": [
"*"
]
}
]
}
1.10.支持的PostgreSQL版本
NGINX控制器支持以下版本的PostgreSQL:
- PostgreSQL 12.3 – 与NGINX Controller 3.9及更高版本一起使用。
- PostgreSQL 9.5 – 与NGINX Controller 3.0及更高版本一起使用。
对于监视100个NGINX Plus实例的系统,我们建议至少32 GB的数据库存储。 数据库存储要求可能会有所不同,具体取决于NGINX Plus实例的数量,组件,已发布的API规范以及配置更改的流失率。 对于仅监视的实现,数据库存储需求很小; 对于生产中的API管理(APIM)and/or应用交付控制器(ADC)实施,存储需求更大。
重要:
如果你使用的是PostgreSQL 12,建议你禁用即时(JIT)编译,以提高NGINX控制器的性能。 要禁用JIT,请编辑postgresql.conf文件并设置jit = off。
1.11.防火墙/IP设置
使用以下防火墙设置配置NGINX Controller:
- DB: Port 5432 TCP – 从NGINX Controller主机传入数据库
- NGINX Controller: Port 443 TCP – 从你从浏览器(例如,内部网络和NGINX Plus实例)访问的位置传入
- NGINX Controller: Port 8443 TCP – 从NGINX Plus实例传入
注意:
如果你的防火墙在NGINX控制器主机上运行,请启用NAT(伪装)并打开以下端口。 这些端口仅用于内部流量,不需要向外开放。
- NGINX控制器:6443 TCP,2379 TCP,2380 TCP – 向Kubernetes主节点的传入请求; 用于Kubernetes API服务器和etcd
- NGINX控制器:10250 TCP – Kubernetes工作节点的传入请求; 用于Kubelet API
有关这些端口的更多信息,请参阅Kubernetes指南安装kubeadm。
1.12.支持的Python版本
NGINX控制器和NGINX控制器代理版本3.6及更低版本需要Python 2.6或2.7。 NGINX控制器或NGINX控制器代理3.7及更高版本不需要Python。
1.13.开源许可证
NGINX Controller使用的开源软件包及其许可证的列表可以在NGINX Controller软件包的下载文件中找到。 在你的NGINX控制器主机上,请参阅controller-installer/files/license-controller.md。
此外,请参阅AskF5 KB文章NGINX Controller控制器数据收集组件的第三方软件,了解可能由controller-datacollection组件使用或与之一起分发的第三方软件包。 上述信息未包含在上述license-controller.md
中。
最后
以上就是飞快画板为你收集整理的Nginx【有与无】【NC-E1】NGINX控制器技术规格1.NGINX控制器技术规格的全部内容,希望文章能够帮你解决Nginx【有与无】【NC-E1】NGINX控制器技术规格1.NGINX控制器技术规格所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复