我想部署一个。在Azure库伯内特斯服务上使用NGINX反向代理的NET Core应用程序。组织pod和容器的最佳方式是什么?
>
两个单容器吊舱,一个用于nginx,一个用于应用程序(.net core/kestrel),因此每个吊舱都可以独立扩展
一个多容器吊舱,这个吊舱有两个容器(一个用于nginx,一个用于app)
一个单集装箱吊舱,一个同时运行nginx和的集装箱。net应用程序
我会选择第一个选项,但我不知道这是否是正确的选择,如果知道每个选项的利弊,那就太好了。
如果我选择第一个选项,是否最好设置亲和性以将nginx pod放在应用程序pod所在的同一个节点上?或反亲和力,以便部署在不同的节点上?或者根本没有亲和力/反亲和力?
Kubernetes中入站流量的最佳实践是使用入口资源。这需要在AKS中进行一些额外的设置,因为没有内置入口控制器。你肯定不想做#2,因为它不灵活,据我所知#3是不可能的。
Kubernetes入口资源是一个配置文件,用于管理入站群集流量的反向代理规则。这允许您将多个服务表面化,就像它们是一个组合API一样。
要设置入口,请首先在自动生成的MC资源组中创建公共IP地址:
az network public-ip create `
-g MC_rg-name_cluster-name_centralus `
-n cluster-name-ingress-ip `
-l centralus `
--allocation-method static `
--dns-name cluster-name-ingress
现在创建一个入口控制器。这是实际处理来自公共IP的入站流量所必需的。它坐着并监听Kubernetes API的入口更新,并自动生成一个nginx。conf文件。
# Note: you'll have to install Helm and its service account prior to running this. See my GitHub link below for more information
helm install stable/nginx-ingress `
--name nginx-ingress `
--namespace default `
--set controller.service.loadBalancerIP=ip.from.above.result `
--set controller.scope.enabled=true `
--set controller.scope.namespace="default" `
--set controller.replicaCount=3
kubectl get service nginx-ingress-controller -n default -w
配置后,请确保在您的入口
资源上使用此注释:kubernetes.io/ingress.class: nginx
如果您想了解更多关于如何设置的信息,请参阅我本周编写的GitHub自述。我还包括了带有cert manager的TLS终端,也安装了Helm。
问题内容: 这种功能可以在服务器群集上运行应用程序,以分配负载并提供额外的冗余。 我看过GridGain的演示文稿,对此印象深刻。 认识其他人吗? 问题答案: 有几个: Terracotta(开源,基于Mozilla Public License); Oracle Coherence(以前是Tangosol Coherence;商业;基于JSR 107,从未正式采用); GigaSpaces(商业
我是Kubernetes的新手,想了解如何向外部世界公开在Kubernetes中运行的服务。我已经使用集群上的节点端口公开了它。例如:一个服务在主机上公开端口31234,我可以通过https://kubeserverip:31234从另一个服务器访问该服务。
Nginx的配置文件如下: server { listen 80; #此处应该配置你的域名: server_name doc.iminho.me; charset utf-8; #此处配置你的访问日志,请手动创建该目录: access_log /var/log/nginx/webhook.iminho.me/access.log
本文向大家介绍LINUX中NGINX反向代理下的TOMCAT集群(详解),包括了LINUX中NGINX反向代理下的TOMCAT集群(详解)的使用技巧和注意事项,需要的朋友参考一下 Nginx具有反向代理(注意和正向代理的区别)和负载均衡等特点。 这次Nginx安装在 192.168.1.108 这台linux 机器上。安装Nginx 先要装openssl库,gcc,PCRE,zlib库等。 Tom
问题内容: Java是我选择的编程语言之一。尽管将应用程序分发给最终用户,但我总是遇到问题。 为用户提供JAR并不总是像我想要的那样友好,并且使用Java WebStart要求我维护Web服务器。 分发Java应用程序的最佳方法是什么?如果Java应用程序需要在用户计算机上安装工件,该怎么办?有没有好的Java安装/打包系统? 问题答案: 有多种解决方案,取决于你的发行要求。 只是用一个jar。这
这并不困难,但它让我质疑spring auth服务器是最好的选择,还是我应该使用Keycloak?