2016-10-02 50 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 

然後相應地刪除。