私はこのような何かに見えるKubernetes展開持つ(置き換え名として他のことを「....」):ノード間でデプロイメントをどのように配布できますか?
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "3"
kubernetes.io/change-cause: kubectl replace deployment ....
-f - --record
creationTimestamp: 2016-08-20T03:46:28Z
generation: 8
labels:
app: ....
name: ....
namespace: default
resourceVersion: "369219"
selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/....
uid: aceb2a9e-6688-11e6-b5fc-42010af000c1
spec:
replicas: 2
selector:
matchLabels:
app: ....
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: ....
spec:
containers:
- image: gcr.io/..../....:0.2.1
imagePullPolicy: IfNotPresent
name: ....
ports:
- containerPort: 8080
protocol: TCP
resources:
requests:
cpu: "0"
terminationMessagePath: /dev/termination-log
dnsPolicy: ClusterFirst
restartPolicy: Always
securityContext: {}
terminationGracePeriodSeconds: 30
status:
availableReplicas: 2
observedGeneration: 8
replicas: 2
updatedReplicas: 2
私が観察してる問題であることKubernetes場所展開で両方のレプリカ(私は同じノード上に2つの質問をしました)。そのノードがダウンすると、両方のコンテナが失われ、サービスがオフラインになります。
Kubernetesは、コンテナが同じタイプの同じノード上のコンテナを2倍にしないようにしたいと考えています。これは、リソースを消費するだけで冗長性を提供しません。私は配備、複製セット、ノードなどのドキュメントを見てきましたが、私はKubernetesにこれを伝えるオプションを見つけることができませんでした。
コンテナに必要なノード間の冗長性をKubernetesに伝える方法はありますか?
編集:ラベルが正常に機能しないと思われます。ラベルは、ノードが実行されてローカルリソース(SSD)などにアクセスできるように制約します。ノードがオフラインになると、ダウンタイムが発生しないようにするだけです。
を私はラベルが動作するかわかりません。ラベルは、ノードが実行されてローカルリソース(SSD)などにアクセスできるように制約します。ノードがオフラインになると、ダウンタイムが発生しないようにするだけです。 –