当前位置: 首页 > 知识库问答 >
问题:

组织会议的最佳方式是什么。在kubernetes集群内使用nginx反向代理的net core应用程序?

凌朗
2023-03-14

我想部署一个。在Azure库伯内特斯服务上使用NGINX反向代理的NET Core应用程序。组织pod和容器的最佳方式是什么?

>

  • 两个单容器吊舱,一个用于nginx,一个用于应用程序(.net core/kestrel),因此每个吊舱都可以独立扩展

    一个多容器吊舱,这个吊舱有两个容器(一个用于nginx,一个用于app)

    一个单集装箱吊舱,一个同时运行nginx和的集装箱。net应用程序

    我会选择第一个选项,但我不知道这是否是正确的选择,如果知道每个选项的利弊,那就太好了。

    如果我选择第一个选项,是否最好设置亲和性以将nginx pod放在应用程序pod所在的同一个节点上?或反亲和力,以便部署在不同的节点上?或者根本没有亲和力/反亲和力?

  • 共有1个答案

    陆正德
    2023-03-14

    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?