A message for Linux.com registered users: We are in the process of making changes to the Linux forums. From Monday, 8/13/18 at 6:00 PM PT to Tuesday, 8/14/18 at 4:00 PM PT, you will be unable to access the forums. They will re-launch as soon as possible on Tuesday, 8/14/18 with new features and improved functionality. Thank you for your patience and stay tuned for the new improved forums.
6.5 - Replication Controller Specifications
As I tried to create the replicationController, kubectl returned an error with the following message:
The ReplicationController "redis" is invalid: spec.template.metadata.labels: Invalid value: null: `selector` does not match template `labels`
As soon as I added the `labels` definition in the template to make sure the `app: redis` label is applied ie the new pod created by the ReplicationController. Indeed, when I looked at the documentation of the Pod Template section of the Replication Controller (https://kubernetes.io/docs/user-guide/replication-controller/#pod-template), I read: In addition to required fields for a Pod, a pod template in a ReplicationController must specify appropriate labels.
After updating my yaml definition to add this labels tempalte for new pods, I'm able to create the replicationController.
Should this line by added to the sample in the slides, or did I missed anything which makes this extra line optional?
My new yaml is therefore: (the spec/template/metadata/labels/ node has been added)
apiVersion: v1 kind: ReplicationController metadata: name: redis namespace: default spec: replicas: 2 selector: app: redis template: metadata: name: redis labels: # This line is not in the 6.5 slides app: redis # This line is not in the 6.5 slides spec: containers: - image: redis:3.2 imagePullPolicy: IfNotPresent name: redis