YAMLファイルを使用して配置を作成しようとすると、無効なフィールドセレクタエラーが発生します。エラーはerror validating data: found invalid field selector for v1.PodSpec
で、私のファイルは以下のとおりです。Kubernetes展開ファイルエラー:v1.PodSpecのフィールドセレクタが無効です。
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: zalenium-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: zalenium
spec:
serviceAccountName: zalenium
serviceAccount: zalenium
selector:
app: zalenium
role: grid
containers:
- name: zalenium-pod
image: dosel/zalenium
ports:
- containerPort: 4444
protocol: TCP
volumeMounts:
- name: zalenium-shared
mountPath: /tmp/mounted
- name: zalenium-videos
mountPath: /home/seluser/videos
resources:
requests:
memory: "250m"
cpu: "500m"
limits:
memory: "1Gi"
volumes:
- name: zalenium-shared
persistentVolumeClaim:
claimName: zalenium-shared-claim
- name: zalenium-videos
persistentVolumeClaim:
claimName: zalenium-videos-claim
私はオンラインのYAMLファイルバリデーターを使用しようとしましたが、フォーマットに問題がないようです。 validate = falseフラグを指定して上記のデプロイメントを作成しようとすると、デプロイメントは実行されますが、ポッドは継続的にクラッシュして再起動します(crashLoopBackOff)。何を調べるべきですか?私はまだk8に精通していますが、エラーから私は展開のコンテナ仕様と関係があると思います。これに近づくためのヒント?ありがとう!
ありがとうございました!しかし、ラベルフィールドを追加しても同じエラーが出力されます。 – appdap1
'.spec.selector.matchLabels'フィールドに変更しましたか?これはセレクタフィールドとは異なります。 (k8sの '1.7.3'では.yamlファイルが動作します) – fishi
ありがとう!今は動作しますが、最初にmatchLabelsフィールドを追加しませんでした。あなたが作成したポッドではなく、実際のデプロイメント/ハブのためにセレクタを使いたいと思っています。 matchLabelは、セレクタの代わりにすべてのDeploymentオブジェクトに対して何かを行うのですか?またはこの特定のケースでのみここで使用されていますか?また、展開によって作成された各ポッドにセレクタを追加しようとしているときに、私は何をしますか?もう一度助けてくれてありがとう! – appdap1