Parece que os recursos não podem ser criados com o valor do rótulo definido como 'true' ou 'false'.
Com o seguinte yaml,
template:
metadata:
labels:
environment: test
release: false
tier: frontend
Estou recebendo um erro:
$ kubectl create -f replicaset.yaml
unable to decode "replicaset.yaml": [pos 341]: json: expect char '"' but got char 'f'
mas mude para
template:
metadata:
labels:
environment: test
release: stable
tier: frontend
Sem erro:
$ kubectl create -f replicaset.yaml
replicaset "replicaset" created
A documentação da etiqueta não menciona este caso.
Valid label values must be 63 characters or less and must be empty or begin and end with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between.
O caso de uso para usar 'true' como valor de rótulo é usar o seletor "Exist", "NotExist", onde você não tem um valor de rótulo significativo.
Eu não testei ainda, mas se o analisador yaml convertê-lo em valor booleano digitado antes mesmo de obtermos o valor, então pode não ser fácil de corrigir? Se sim e não queremos apoiá-lo, então acho que pelo menos documentamos de alguma forma.
Os rótulos são strings.
Cite-os.
siga @ bgrant0607
fixo.
Comentários muito úteis
Cite-os.