2016-10-02 48 views
0

我学习Kubernetes和对面的一个问题来了,想检查是否有人碰到它,kubernetes隐藏副本集?

[email protected]:~/rc$ kubectl get rs ### don’t see any replica set 
[email protected]:~/rc$ 
[email protected]:~/rc$ 
[email protected]:~/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 
[email protected]:~/rc$ 
[email protected]:~/rc$ 
[email protected]:~/rc$ kubectl delete pod bigwebstuff-673k9 bigwebstuff-cs7i3 #### delete pods 
pod "bigwebstuff-673k9" deleted 
pod "bigwebstuff-cs7i3" deleted 
[email protected]:~/rc$ 
[email protected]:~/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 

你看到被删除的豆荚再生,虽然我不能找到副本集,就好像隐藏的复制集合存在于某处。

3个豆荚从rc.yaml文件启动如下,

[email protected]:~/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 

但它并没有显示我用山药文件来创建荚后。

有关如何找到隐藏副本集的任何想法?或者为什么豆荚再生?

回答

3

“ReplicaSet”与“ReplicationController”不同(尽管它们很相似)。 kubectl get rs命令会列出副本集,而您问题中的清单文件会创建一个复制控制器。而是使用kubectl get rc命令列出复制控制器(或者,也可以更改清单文件以创建ReplicaSet而不是ReplicationController)。


在ReplicaSets和ReplicationControllers之间的区别,让我引述documentation

副本集是下一代复制控制器。副本集和复制控制器之间唯一的区别就是选择器支持。副本集支持标签用户指南中描述的新的基于集合的选择器要求,而复制控制器仅支持基于相等的选择器要求。

2

副本集和复制控制器不是一回事。请尝试以下操作:

kubectl get rc 

然后相应地删除。