ヘッドレス サービスを作成しました。
myapp-service-headless.yaml
apiVersion: v1
kind: Service
metadata:
name: myapp-service-headless
spec:
ports:
- port: 8000
selector:
app: myapp
clusterIP: None
Kubernetes クラスターに作成したら、サービスの状態を確認します。
$ kubectl create -f myapp-service-headless.yaml
$ kubectl describe service myapp-service-headless
Name: myapp-service-headless
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=myapp
Type: ClusterIP
IP: None
Port: <unset> 8000/TCP
TargetPort: 8000/TCP
Endpoints: 172.17.0.11:8000,172.17.0.9:8000
Session Affinity: None
Events: <none>
172.17.0.11:8000
またはを接続しようとしましたが172.17.0.9:8000
、保留中で結果がありません。
ここでは、アプリケーションでkube-dns
:myapp-service-headless.default.svc.cluster.local
を使用しています。今はポッドのコンテナに入っています。
では、API を介して他のアプリケーションからこれらのアプリケーションに接続するにはどうすればよいでしょうか? どの IP を使用できますか?