私はこのようになりますシンプルな複製コントローラのYAMLファイルを持っている: Kubernetesでは、レプリケーションコントローラを使用するときにポッドの名前を設定する方法は?
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 3
selector:
app: nginx
template:
spec:
containers:
- image: library/nginx:3.2
imagePullPolicy: IfNotPresent
name: nginx
ports:
- containerPort: 80
metadata:
labels:
app: nginx
そして、このレプリケーション・コントローラを実行した後、私が得る
名前が「nginxの-XXX」は、「xxx」は表して、3種類のポッド文字と数字のランダムな文字列。複製コントローラによって作成されたポッドの名前を指定して、ポッドの名前を「nginx-01」、「nginx-02」、「nginx-03」にすることができます。さらに、何らかの理由でポッド「nginx-02」がダウンしていて、複製コントローラが自動的に別のnginxポッドを作成すると、この新しいnginxポッドの名前を「nginx-02」にしておきたいとします。
これは可能でしょうか?前もって感謝します。
たとえば、自分のポッドに、アクセス可能なFQDN名を認識させたいと思います。今のところ、ポッドはそのようにenv変数(例:10-42-25-26.dev.pod.cluster.local)からIPアドレスを判断することさえできません。 この要件の背景は、監視ソリューション(Hystrix/Turbineダッシュボードなど)を構築することです。 ステートレスポッドをステートフルセットに変換するだけで、上記の目標シームをハックにすることができます。 –
は、リンク機能を持つ以前にリリースされたドッカーとの下位互換性のために使用されていた環境変数を使用しないようにしましたが、現在は廃止されています。ホスト、ポート環境変数を使用するには、順番どおりに行う必要があります。ポッドをサービスとして公開するには、デフォルトのパターンポッドはレプリカセットの一部であり、レプリカはサービスとして公開され、クラスタDNSは常にservice.namespace.svc.clusterのように動的に正しいクラスタIDアドレスを指し、fdqnを更新します。ローカルまたはあなたが上書きしたデフォルトのベース名 – Walid