Używamy zarządzanych Kubernetes na platformie Azure (AKS)i zabrakło publicznych adresów IP. Potrzebujemy tylko jednego, ale AKS tworzy nowy publiczny adres IP za każdym razem, gdy wdrażamy usługę i nie usuwa go po usunięciu usługi. Na przykład:
apiVersion: v1
kind: Service
metadata:
name: somename
spec:
ports:
- port: 443
targetPort: 443
selector:
app: somename
# Also tried this to reuse public IP in AKS MC resource group
# https://docs.microsoft.com/en-my/azure/aks/static-ip
# loadBalancerIP: x.x.x.x
type: LoadBalancer
Za każdym razem, gdy jest to wdrażane (kubectl create -f svc.yml
) tworzony jest nowy publiczny adres IP. Po usunięciu (kubectl delete -f svc.yml
) IP pozostaje. Próba ponownego wykorzystania jednego z istniejących adresów IP z loadBalanceIP, jak w powyższych komentarzach, kończy się niepowodzeniem: „Publiczny adres IP ... jest wskazywany przez wiele ipconfigs w zasobie ...”.
Stworzyliśmy zlecenie serwisowe, ale trwa ono wieki, więc mam nadzieję, że będzie to szybsze. Nie ważę się po prostu usunąć publicznych adresów IP z zasobu zarządzanego przez AKS, ponieważ może to powodować problemy.
Czy istnieje sposób na bezpieczne zwolnienie lub ponowne wykorzystanie publicznych adresów IP? Używamy Kubernetes w wersji 1.7.12. Usunęliśmy również wdrożenie, do którego odwołuje się usługa, to nie ma znaczenia.
Odpowiedzi:
0 dla odpowiedzi № 1Powinien usunąć adresy IP po pewnym czasie (np. 5 minut na szczycie). Więc masz problem. Możesz sprawdzić zdarzenia k8s, aby znaleźć błąd i spojrzeć na niego.
Ponadto całkowicie bezpieczne jest usuwanie zasobów platformy Azure. k8 nie przestraszą się, jeśli odejdą.
Testowane z K8s 1.9.1