KubernetesのRedisサーバーに依存するオンラインサービスを展開するつもりです。これまでのところ私が持っている:Kubernetesに同じ展開を複数回展開する
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: "redis"
spec:
replicas: 1
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis
ports:
- containerPort: 6379
protocol: TCP
私はまたしてサービスとしてのRedisを公開することができます。これにより
apiVersion: v1
kind: Service
metadata:
name: redis
labels:
app: redis
spec:
ports:
- port: 6379
protocol: TCP
selector:
app: redis
、私はRedisのサーバーを持つ単一のポッドを実行し、それを公開することができます。
しかし、私のアプリケーションはいくつかのRedisサーバーに接続する必要があります(これは構成できますが、理想的には変更しないでください)。 Redisサーバがと話しているので、レプリカを使用することはできません。サービス抽象化では、どちらのインスタンスについて話しているかわからないため、単一のサービスに公開することはできません。私はこれを知るために私のアプリケーションの必要性がスケーラビリティを妨げ、その結果柔軟性を失うのをうれしく思っています。
私は、同じ展開を何度も展開し、それぞれのサービスを宣言することを考えましたが、Kubernetesのドキュメントでは何も見つかりませんでした。もちろん、展開とサービスのYAMLファイルをコピー&ペーストして、それぞれに接尾辞を追加することもできますが、これはあまりにも手作業で(そして率直に言っても)複雑すぎるようです。
私の目標を達成するためにクーベルネットには何かがありますか?
ありがとうございました!これはまさに私が求めていたものです。私は「PetSet」がダッシュボードでそれを見たときのことだと気づいていませんでした。特定のサービスの設定を自動化するためのペットのリストをイントロスペクト/リクエスト/通知するアプリケーションは、とにかくありますか? – ereOn
'app = redis'を対象とするサービスを作成することで、簡単に接続できます。これにより、ラウンドロビンでアクセスすることができます。すべてのサービスが必要な場合は、kubernetes APIを使用してサービスのIPを取得する必要があります。 –
私の場合、後で必要があると思います。もし[有望な] [このリンク](http://kubernetes.io/docs/user-guide/accessing-the-cluster/#accessing-the-api-from-a-pod)が見つかったら。ありがとう! – ereOn