Sử dụng Kubernetes 1.2.4, tại sao định nghĩa dưới đây là Deployment (redis.yaml) gây ra lỗi sau?Kubernetes - Tại sao trường chọn không xác thực cho Triển khai?
$ kubectl apply -f redis.yaml
error validating "redis.yaml": error validating data: found invalid field name for v1beta1.LabelSelector; if you choose to ignore these errors, turn validation off with --validate=false
redis.yaml:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis
spec:
replicas: 3
selector:
name: redis
template:
metadata:
labels:
name: redis
spec:
containers:
- name: redis
image: kubernetes/redis:v1
ports:
- containerPort: 6379
resources:
limits:
cpu: "0.1"
volumeMounts:
- mountPath: /redis-master-data
name: data
volumes:
- name: data
emptyDir: {}
Bạn có thể giải thích chi tiết về mục đích của '.spec.selector' không? Tôi hơi bối rối bởi tài liệu, đặc biệt là đoạn "Nếu được chỉ định,' .spec.selector' phải khớp với '.spec.template.metadata.labels' [...]. Nếu' .spec.selector' không được chỉ định , '.spec.selector.matchLabels' sẽ được mặc định thành' .spec.template.metadata.labels' ". Mục đích của việc có '.spec.selector' nếu nó cần khớp' .spec.selector.matchLabels' nhưng cũng mặc định là gì nếu không được chỉ định? –
Tôi muốn nói '.spec.template.metadata.labels' thay vì' .spec.selector.matchLabels' trong câu cuối cùng của tôi, xin lỗi. –