サービスの場合、異なるnodeSelector
構成の複数の展開を1つのService
の定義の背後に持つことができます。
など。
kubectl label nodes node-1 pool=freshhardware
kubectl label nodes node-2 pool=freshhardware
kubectl label nodes node-3 pool=shakyhardware
をし、このように二つの展開があります:あなたはこのようなあなたのノードにラベルを付けることができ二つだけで、これらのフィールドと同じように見える可能性が...
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-nginx
spec:
replicas: 4
template:
metadata:
labels:
run: my-nginx
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80
nodeSelector:
pool: freshhardware
を交換:
nodeSelector:
pool: shakyhardware
このようなサービス定義では、両方の配備のすべてのポッドが考慮されます。
apiVersion: v1
kind: Service
metadata:
name: my-nginx
labels:
run: my-nginx
spec:
ports:
- port: 80
protocol: TCP
selector:
run: my-nginx
もちろん、欠点は一度に2つの配備を管理しなければならないことですが、それはこの問題のビルドインのようなものです。
ちょうど興味があります - それはどのような問題を引き起こしますか?デプロイメント+サービスとして「通常の方法」を採用しているので、私は尋ねています。したがって、yamlファイルでnodepoolを選択するので、必要なノードをターゲットにできます。 – JosMac