- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下 Terraform 代码创建了一个 Azure kubernetes 集群
# Required Provider
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 3.0.2"
}
}
required_version = ">= 1.1.0"
}
data "azurerm_client_config" "current" {}
provider "azurerm" {
subscription_id = local.subscription_id
tenant_id = local.tenant_id
client_id = local.client_id
client_secret = local.client_secret
features {}
}
resource "random_pet" "rg-name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
name = random_pet.rg-name.id
location = var.resource_group_location
}
resource "azurerm_virtual_network" "test" {
name = var.virtual_network_name
location = azurerm_resource_group.rg.location
resource_group_name = azurerm_resource_group.rg.name
address_space = [var.virtual_network_address_prefix]
subnet {
name = var.aks_subnet_name
address_prefix = var.aks_subnet_address_prefix
}
tags = var.tags
}
data "azurerm_subnet" "kubesubnet" {
name = var.aks_subnet_name
virtual_network_name = azurerm_virtual_network.test.name
resource_group_name = azurerm_resource_group.rg.name
depends_on = [azurerm_virtual_network.test]
}
resource "azurerm_kubernetes_cluster" "k8s" {
name = var.aks_name
location = azurerm_resource_group.rg.location
dns_prefix = var.aks_dns_prefix
private_cluster_enabled = var.private_cluster
resource_group_name = azurerm_resource_group.rg.name
http_application_routing_enabled = false
linux_profile {
admin_username = var.vm_user_name
ssh_key {
key_data = file(var.public_ssh_key_path)
}
}
default_node_pool {
name = "agentpool"
node_count = var.aks_agent_count
vm_size = var.aks_agent_vm_size
os_disk_size_gb = var.aks_agent_os_disk_size
vnet_subnet_id = data.azurerm_subnet.kubesubnet.id
}
service_principal {
client_id = local.client_id
client_secret = local.client_secret
}
network_profile {
network_plugin = "azure"
dns_service_ip = var.aks_dns_service_ip
docker_bridge_cidr = var.aks_docker_bridge_cidr
service_cidr = var.aks_service_cidr
load_balancer_sku = "standard"
}
# Enabled the cluster configuration to the Azure kubernets with RBAC
azure_active_directory_role_based_access_control {
managed = var.azure_active_directory_role_based_access_control_managed
admin_group_object_ids = var.active_directory_role_based_access_control_admin_group_object_ids
azure_rbac_enabled = var.azure_rbac_enabled
}
timeouts {
create = "20m"
delete = "20m"
}
depends_on = [data.azurerm_subnet.kubesubnet,module.log_analytics_workspace]
tags = var.tags
}
它使用公共(public) IP 创建负载均衡器,如下所示
但是,我不想让负载均衡器拥有公共(public) IP,而是应该拥有内部专用 IP。
我应该怎么做才能让这个负载均衡器具有内部私有(private) IP 并且服务不会使用公共(public) IP 通过互联网公开?
注意:根据 Microsoft documentation ,即使您使用 annotations: service.beta.kubernetes.io/azure-load-balancer-internal: "true" 进行注释,仍然会分配外部 IP,这是我试图避免的。
最佳答案
使用 AKS 群集(通常称为 kubernetes)创建的负载均衡器用于导出(而非入口)流量,并且是公共(public) LB,并且不能是私有(private)的。这是出站类型配置的一部分。
AKS 群集的“出站类型”可以设置为“LoadBalancer、UserDefinedRouting 或 ManagedNatGateway”。如果您选择 LB 以外的任何选项,则需要配置网络以在外部路由流量。检查this doc了解更多信息。
对于入口流量,您可以选择使用公共(public)或私有(private) LB。这是在 kubernetes 下的服务资源(LoadBalancer 类型)中配置的,您可以在其中使用您提到的注释来创建私有(private) LB。公共(public)规则将使用与集群创建的相同公共(public)负载均衡。
您也可以使用注释设置LB的私有(private)IP:
annotations:
service.beta.kubernetes.io/azure-load-balancer-ipv4: 10.240.0.25
service.beta.kubernetes.io/azure-load-balancer-internal: "true"
same doc 中提到了这一点您分享的。
关于Azure Kubernetes 服务 : Setup an Internal load balancer with static IP address,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75363487/
我是 AWS 新手。我开始学习 ALB 和 NLB。我知道 ALB 在第 7 层协议(protocol)中工作,而 NLB 在第 4 层协议(protocol)中工作。 谁能解释一下ALB和NLB的实
我正在使用平衡付款ruby api并意外创建了几个额外的测试市场。虽然 api 公开了一个用于创建测试市场的清晰界面,但我似乎找不到任何方法来删除它,即使没有 api。有人知道删除市场的方法吗? 最佳
我有在 Google Compute Engine 上运行的服务。我在欧洲的目标池中有几个实例,在美国的目标池中也有几个实例。目前我有一个域名,它连接到欧洲目标池 IP,并且可以很好地在这两个实例之间
我在golang中遇到以下错误 # go.etcd.io/etcd/clientv3/balancer/picker
我在 Google CE(计算引擎)上有一个 Node.js 应用程序,它在 nginx 服务器后面运行。 我应该使用 nginx 负载均衡器和 Google Cloud 负载均衡器吗? 或者它们是相
我正在寻找将 WAF 集成到现有服务器设置中的方法,因为我的 Classic Load Balancer(带有 EC2 实例)不支持 WAF,因此我需要迁移到 Application Load Bal
在我的文档中有一个父 div固定高度和两列子元素 div . Text 仅使用 CSS3,我试图通过以下方式将子项的两列布局与父项的溢出裁剪携手合作: 当子元素包含很少的文本时,它不应该平
我正在尝试设置 Application Load Balancer 以将流量转发到 AWS 中的 Nginx Ingress Controller 。 为了设置 Nginx Ingress Contr
我有一个 EKS Kubernetes 1.16.x。具有三个标记为 kubernetes.io/role/elb: 1 的公共(public)子网的集群和三个标记为 kubernetes.io/ro
我有 REST API。 为了简单起见,假设我有两个服务: read.request.com write.request.com 如何将所有读取请求(GET 方法)重写为read.request.co
我是微服务领域的新手,但了解有关负载平衡的基础知识。我最近读了一篇关于微服务的文章:Enough with the microservices . 其中提到微服务和负载均衡器都有集群/不同的 VM 用
在阅读“kong”api网关的文档时,上游服务器中有一个称为插槽的概念。我没明白这句话的意思。请分享这方面的知识。 最佳答案 我查看了 Kong 源代码,这是相对于外部 resty 库的: https
某个组织有10服务器。为它提供一些负载平衡算法。还要考虑这样一种情况,其中一台服务器需要 10 秒来处理请求,而其他服务器只需要 1 秒。那么,您将如何管理这个瓶颈? 最佳答案 有多种方法可以做到这一
考虑一种情况,我们有一个部署在多个服务器中的 Web 应用程序,并且客户端请求登陆到负载均衡器,负载均衡器又将请求路由到实际服务器。 现在,如果我们有太多请求并发,负载均衡器本身会失败吗?假设我们每秒
在Web应用程序和服务中,我正在创建它必须水平缩放。我想拥有1个负载平衡器,3个Web服务器节点和2个数据库节点(其中一个仅用于冗余,并且在第一个数据库节点发生故障时将垂直扩展)。 负载均衡器是否充当
可以对MQTT代理进行负载平衡吗?我可以使用ELB来负载均衡MQTT吗?朝这个方向的任何指示都将有所帮助。我碰到了http://www.slideshare.net/kellogh/mqtt-kafk
阅读常见消息队列系统(例如 RabbitMQ、ActiveMQ)的文档,似乎负载平衡总是由队列系统(循环)或生产者使用消息上的多个队列或属性来完成。然而,在我们的应用程序中,没有人知道处理消息需要多长
我的老板想要一个系统来考虑整个大陆的灾难性事件。他想在美国有两台服务器,在亚洲有两台服务器(每个大陆有 1 个登录服务器和 1 个工作服务器)。 如果地震破坏了两大洲之间的联系,两者都应该单独行动。当
最近有几种服务发现工具变得流行/“主流”,我想知道在哪些主要用例下应该使用它们而不是传统的负载均衡器。 使用 LB,您可以在平衡器后面聚集一堆节点,然后客户端向平衡器发出请求,然后平衡器(通常)将这些
我们的设置是 Varnish 前端,通过配置的运行状况轮询为2个后端提供服务。我们使用Client Director进行负载平衡,因此根据client.identity选择后端 当两个后端之一发生故障
我是一名优秀的程序员,十分优秀!