kubernetes hidden replica set?

10/2/2016

I'm learning Kubernetes and just came across an issue and would like to check if anyone else has come across it,

user@ubuntu:~/rc$ kubectl get rs   ### don’t see any replica set
user@ubuntu:~/rc$ 
user@ubuntu:~/rc$ 
user@ubuntu:~/rc$ kubectl get pod  
NAME                READY     STATUS    RESTARTS   AGE
bigwebstuff-673k9   1/1       Running   0          7m
bigwebstuff-cs7i3   1/1       Running   0          7m
bigwebstuff-egbqd   1/1       Running   0          7m
user@ubuntu:~/rc$ 
user@ubuntu:~/rc$ 
user@ubuntu:~/rc$ kubectl delete pod bigwebstuff-673k9 bigwebstuff-cs7i3    #### delete pods
pod "bigwebstuff-673k9" deleted
pod "bigwebstuff-cs7i3" deleted
user@ubuntu:~/rc$ 
user@ubuntu:~/rc$ kubectl get pod    #### the deleted pods regenerated
NAME                READY     STATUS    RESTARTS   AGE
bigwebstuff-910m9   1/1       Running   0          6s
bigwebstuff-egbqd   1/1       Running   0          8m
bigwebstuff-fksf6   1/1       Running   0          6s

You see the deleted pods are regenerated, though I can’t find the replica set, as if a hidden replicate set exist somewhere.

The 3 pods are started from rc.yaml file as follows,

user@ubuntu:~/rc$ cat webrc.yaml
apiVersion: v1
kind: ReplicationController 
metadata:
  name: bigwebstuff 
  labels:
    name: bigwebstuff 
spec:
  replicas: 3 
  selector:
    run: testweb 
  template:
    metadata: 
      labels:
        run: testweb 
    spec:
      containers:
      - name: podweb 
        image: nginx
        ports:
        - containerPort: 80

But it didn’t show up after I use the yams file to create the pods.

Any idea on how to find the hidden replica set? Or why the pods gets regenerated?

-- user6912709
kubernetes

2 Answers

10/2/2016

A "ReplicaSet" is not the same thing as a "ReplicationController" (although they are similar). The kubectl get rs command lists replica sets, whereas the manifest file in your question creates a replication controller. Instead, use the kubectl get rc command to list replication controllers (or alternatively, change your manifest file to create a ReplicaSet instead of a ReplicationController).


On the difference between ReplicaSets and ReplicationControllers, let me quote the documentation:

Replica Set is the next-generation Replication Controller. The only difference between a Replica Set and a Replication Controller right now is the selector support. Replica Set supports the new set-based selector requirements as described in the labels user guide whereas a Replication Controller only supports equality-based selector requirements.

-- helmbert
Source: StackOverflow

10/2/2016

Replica sets and replication controllers are not the same thing. Try the following:

kubectl get rc

And then delete accordingly.

-- kichik
Source: StackOverflow