Kubernetesでは、kubectl expose deployment
を実行することにより、クラスターで実行されているサービスに外部からアクセスできるようにすることができます。なぜサービスではなく展開が私の単純な理解を超えているのか。それはさておき、この操作を後で取り消すこともできるようにしたいと思います。シナリオを考えてみましょう。通常、デバッグ目的でクラスター内でのみアクセス可能なサービスにアクセスし、元の状態に戻す必要があります。
展開を削除して新しく作成する以外にこれを行う方法はありますか?
PS。実際にサービスと展開を削除しても役に立ちません。同じ名前でサービスと展開を再作成すると、サービスが公開されます。
Hello-worldと呼ばれるデプロイメントがあり、次のようにkubectlを公開すると仮定します。
kubectl expose deployment hello-world --type=ClusterIP --name=my-service
これにより、my-serviceと呼ばれるサービスが作成され、説明したように、デバッグのためにデプロイメントにアクセスできるようになります。
サービスに関する情報を表示するには:
kubectl get services my-service
デバッグが完了したときにこのサービスを削除するには:
kubectl delete service my-service
これで、展開は非公開になりました。