Yaml 如何提供我的AKS(外部IP<;待定>;)?

Yaml 如何提供我的AKS(外部IP<;待定>;)?,yaml,microservices,azure-aks,Yaml,Microservices,Azure Aks,我想将我的微服务基础架构部署为Azure上的AKS。我创建了一个运行3个微服务的节点。我的API网关应该能够用公共IP寻址,数据应该转发到我的另外两个微服务 PS /home/jan-marius> kubectl get pods NAME READY STATUS RESTARTS AGE apigateway-77875f89cb-qcmnf 1/1 Running 0 18h cont

我想将我的微服务基础架构部署为Azure上的AKS。我创建了一个运行3个微服务的节点。我的API网关应该能够用公共IP寻址,数据应该转发到我的另外两个微服务

PS /home/jan-marius> kubectl get pods
NAME                          READY   STATUS    RESTARTS   AGE
apigateway-77875f89cb-qcmnf   1/1     Running   0          18h
contacts-5ccc69f74-x287p      1/1     Running   0          18h
templates-579fc4984b-srv7h    1/1     Running   0          18h
到目前为止还不错。在那之后,我从Microsoft文档创建了一个公共IP,并更改了我的Yaml文件,如下所示

az network public-ip create \
    --resource-group myResourceGroup \
    --name myAKSPublicIP \
    --sku Standard \
    --allocation-method static
但是,如果我想使用get服务调用外部IP地址,则状态为

S /home/jan-marius> kubectl get service apigateway
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
apigateway   LoadBalancer   10.0.181.113   <pending>     8800:30817/TCP   19h

如果您的publicip位于另一个资源组中,则需要为该ip指定资源组:

apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/azure-dns-label-name: tegos-sendmessage
    service.beta.kubernetes.io/azure-load-balancer-resource-group: myResourceGroup 
  name: apigateway
spec:
  loadBalancerIP: 20.50.10.36
  type: LoadBalancer
  ports:
  - port: 8800
  selector:
    app: apigateway

感谢您的快速回答,但他们属于同一资源组。我添加了注释,但在aks辅助资源组中没有任何更改?如果是,请检查群集的权限并检查ip匹配我的资源组SendMessageResource包含公共ip和aks群集。我上传了一张截图否,它必须在
MC\u sendmessagecluster\u something\u westeurope
资源组中。你能告诉我如何检查权限吗?我是个新手,这对你有帮助吗?是的,这对我理解Azure Kubernetes有很大帮助。最后创建了一个新集群并删除了Yaml文件中的注释。谢谢你的帮助:D
PS /home/jan-marius> kubectl describe service apigateway
Name:                     apigateway
Namespace:                default
Labels:                   <none>
Annotations:              kubectl.kubernetes.io/last-applied-configuration:
                            {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"service.beta.kubernetes.io/azure-dns-label-name":"tegos-sendmessage"},"nam...
                          service.beta.kubernetes.io/azure-dns-label-name: tegos-sendmessage
Selector:                 app=apigateway
Type:                     LoadBalancer
IP:                       10.0.181.113
IP:                       20.50.10.36
Port:                     <unset>  8800/TCP
TargetPort:               8800/TCP
NodePort:                 <unset>  30817/TCP
Endpoints:                10.244.0.14:8800
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type    Reason                Age                 From                Message
  ----    ------                ----                ----                -------
  Normal  EnsuringLoadBalancer  5m (x216 over 17h)  service-controller  Ensuring load balancer
PS /home/jan-marius> az aks show -g SendMessageResource -n SendMessageCluster
{
  "aadProfile": null,
  "addonProfiles": {
    "httpapplicationrouting": {
      "config": {
        "HTTPApplicationRoutingZoneName": "e6e284534ad74c0d9c01.westeurope.aksapp.io"
      },
      "enabled": true,
      "identity": null
    },
    "omsagent": {
      "config": {
        "loganalyticsworkspaceresourceid": "/subscriptions/a553134ba7eb-cb83-484d-a05d-44bb70125b8a/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-a55ba7eb-cb83-484d-a05d-44bb334170125b8a-weu"
      },
      "enabled": true,
      "identity": null
    }
  },
  "agentPoolProfiles": [
    {
      "availabilityZones": null,
      "count": 1,
      "enableAutoScaling": null,
      "enableNodePublicIp": false,
      "maxCount": null,
      "maxPods": 110,
      "minCount": null,
      "mode": "System",
      "name": "nodepool1",
      "nodeLabels": {},
      "nodeTaints": null,
      "orchestratorVersion": "1.15.11",
      "osDiskSizeGb": 100,
      "osType": "Linux",
      "provisioningState": "Succeeded",
      "scaleSetEvictionPolicy": null,
      "scaleSetPriority": null,
      "spotMaxPrice": null,
      "tags": null,
      "type": "VirtualMachineScaleSets",
      "vmSize": "Standard_DS2_v2"
    }
  ],
  "apiServerAccessProfile": null,
  "autoScalerProfile": null,
  "diskEncryptionSetId": null,
  "dnsPrefix": "SendMessag-SendMessageResou-a55ba7",
  "enablePodSecurityPolicy": null,
  "enableRbac": true,
  "fqdn": "sendmessag-sendmessageresou-a55ba7-14596671.hcp.westeurope.azmk8s.io",
  "id": "/subscriptions/a55b3141a7eb-cb83-484d-a05d-44bb70125b8a/resourcegroups/SendMessageResource/providers/Microsoft.ContainerService/managedClusters/SendMessageCluster",
  "identity": null,
  "identityProfile": null,
  "kubernetesVersion": "1.15.11",
  "linuxProfile": {
    "adminUsername": "azureuser",
    "ssh": {
      "publicKeys": [
        {
          "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7bzXktZht3zLbHrz3Xpv3VNhtrj/XmBKOIHB0D0ZpBIrsfXcg9veBov8n3cU/F/oKIfqcL2xaoktVwZFz9AjEi7qPXdxrsVLjV2+w0kPyC3ZC5JbtLSO4CFgn0MtclC6mE3OPYczYPoFdZI3/w/AmoZ6TsT7MupkCjKtrYIIaDZ/22zuTMYMvJro7cfjKI5OSR7soybXcoFKw+3tzwO9Mv9lUQr7x0eRCUAUJN6OziEI9p36fLEnNgRG4GiJJZP5aqqsVRUDuu8PF9pO0YLMBr3b2HHgzpDwSebZ6TU//okuc30cqG/2v2LkjBDRGrs5YxiSv3+ejr/9A4XGWup4Z"
        }
      ]
    }
  },
  "location": "westeurope",
  "maxAgentPools": 10,
  "name": "SendMessageCluster",
  "networkProfile": {
    "dnsServiceIp": "10.0.0.10",
    "dockerBridgeCidr": "172.17.0.1/16",
    "loadBalancerProfile": {
      "allocatedOutboundPorts": null,
      "effectiveOutboundIps": [
        {
          "id": "/subscriptions/a55b3142a7eb-cb83-484d-a05d-44bb70125b8a/resourceGroups/MC_SendMessageResource_SendMessageCluster_westeurope/providers/Microsoft.Network/publicIPAddresses/988314172c28-d4da-431e-b7f8-5acb08e468b4",
          "resourceGroup": "MC_SendMessageResource_SendMessageCluster_westeurope"
        }
      ],
      "idleTimeoutInMinutes": null,
      "managedOutboundIps": {
        "count": 1
      },
      "outboundIpPrefixes": null,
      "outboundIps": null
    },
    "loadBalancerSku": "Standard",
    "networkMode": null,
    "networkPlugin": "kubenet",
    "networkPolicy": null,
    "outboundType": "loadBalancer",
    "podCidr": "10.244.0.0/16",
    "serviceCidr": "10.0.0.0/16"
  },
  "nodeResourceGroup": "MC_SendMessageResource_SendMessageCluster_westeurope",
  "privateFqdn": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "SendMessageResource",
  "servicePrincipalProfile": {
    "clientId": "9009bcd8-4933-4641-b00b-237e157d86589b"
  },
  "sku": {
    "name": "Basic",
    "tier": "Free"
  },
  "type": "Microsoft.ContainerService/ManagedClusters",
  "windowsProfile": null
}
apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/azure-dns-label-name: tegos-sendmessage
    service.beta.kubernetes.io/azure-load-balancer-resource-group: myResourceGroup 
  name: apigateway
spec:
  loadBalancerIP: 20.50.10.36
  type: LoadBalancer
  ports:
  - port: 8800
  selector:
    app: apigateway