ドキュメントでわかることから、 ReplicaSet
を実行すると Deployment
が作成されます。 ReplicationController
-スケールアップ/ダウンと自動再起動の同じ機能のいくつかをサポートしているようですが、ローリングアップグレードまたは自動スケールをサポートしているかどうかは不明です。
V1.1.8ユーザーガイドでは、デプロイを作成する方法を示しています Deploying Applications (自動的にReplicaSet
が作成されます)、ただしkubectl get replicasets
コマンドはv1.2.0まで使用できません。ドキュメントにReplicaSet
に関する他の情報はありません。
ReplicaSet
は最終的にReplicationController
を置き換えますか? Deployment
の代わりにReplicaSet
とReplicationController
を使用する理由は何ですか?
レプリカセットは、次世代のレプリケーションコントローラです。レプリケーションコントローラは必須ですが、レプリカセットはできるだけ宣言型にしようとします。
1.レプリカセットとレプリケーションコントローラの主な違いは、セレクタのサポートです。
+--------------------------------------------------+-----------------------------------------------------+
| Replica Set | Replication Controller |
+--------------------------------------------------+-----------------------------------------------------+
| Replica Set supports the new set-based selector. | Replication Controller only supports equality-based |
| This gives more flexibility. for eg: | selector. for eg: |
| environment in (production, qa) | environment = production |
| This selects all resources with key equal to | This selects all resources with key equal to |
| environment and value equal to production or qa | environment and value equal to production |
+--------------------------------------------------+-----------------------------------------------------+
2. 2つ目は、ポッドの更新です。
+-------------------------------------------------------+-----------------------------------------------+
| Replica Set | Replication Controller |
+-------------------------------------------------------+-----------------------------------------------+
| rollout command is used for updating the replica set. | rolling-update command is used for updating |
| Even though replica set can be used independently, | the replication controller. This replaces the |
| it is best used along with deployments which | specified replication controller with a new |
| makes them declarative. | replication controller by updating one pod |
| | at a time to use the new PodTemplate. |
+-------------------------------------------------------+-----------------------------------------------+
これらは、RSとRCを区別する2つの点です。 RSを使用したデプロイメントは、宣言型であるため、広く使用されています。
現時点では、ほとんどの場合、違いはわずかです。 ReplicaSetには一般化されたラベルセレクターがあります: https://github.com/kubernetes/kubernetes/issues/341#issuecomment-140809259 。レプリケーションコントローラがサポートするすべての機能をサポートする必要があります。
ReplicaSetは最終的にReplicationControllerに置き換わりますか? ReplicationControllerの代わりにDeploymentとReplicaSetを使用する理由は何ですか?
これは、ローリングアップデートと展開の違いです。違いを理解するには、デプロイに関するドキュメントをお読みください: http://kubernetes.io/docs/user-guide/deployments/ 。つまり、ローリングアップデートを開始してラップトップを閉じると、レプリカには中間イメージバージョンが混在しています。デプロイを作成してラップトップを閉じると、デプロイはapiserverに正常にPOSTされます。この場合、サーバー側で機能するか、機能しません。その場合、すべてのレプリカはまだ古いバージョンのままです。
悪い点は、現在のほとんどすべてのドキュメントがReplicationControllersに関するものであることです。
同意し、ほとんどのドキュメントが更新されています。残念ながら、インターネット上のドキュメントはgithub上のドキュメントよりも更新が困難です。