Recs.
Updated
Specs
Pros
Pro Built on several years of experience with containers
Kubernetes was built on top of several years of experience from Google working on containers in production. It's a little opinionated on how containers should work and behave, but if used correctly it can help you achieve fault-tolerant systems.
Pro Easy to do grouping tasks
Kubernetes uses labels which are key-value pairs that are attached to objects, usually pods. They are used to specify the characteristics of an object like the version, tier, etc. Labels are used to identify objects or groups of objects according to different characteristics that they may have, for example they can be used to identify all the pods that are included in the backend tier.
Through labels it's easier to do grouping tasks for pods or containers, like moving pods to different groups or assigning them to load-balanced groups.
Cons
Con Cannot define containers through the Docker CLI
Kubernetes was not written for docker clustering alone. It uses a different API, configuration and different YAML definitions. So you can't use the Docker CLI or Docker Compose to define your containers. Everything has to be done from scratch.
Con Windows restrictions
Windows compatibility rules, the host OS version must match the container base image OS version. Only Windows containers with Windows Server 2019 are supported. Also other restrictions are present.
Recommendations
Comments
Flagged Pros + Cons
Pro Vibrant and diversified dev community
Kubernetes is here to stay. Top tech giants seemt to have agreed to cooperate around the base technology and compete on higher level tools.
Recent CNCF's announcement with Top tech companies (like Google, Red Hat, CoreOS, FathomDB, ZTE Corporation, Huawei, IBM, Microsoft, Fujitsu, and Mirantis.) agreeing to a Kubernetes Certification standard is a major step towards having a dominant cloud agnostic Container Orchestration platform (and no fear or forks in the near-term).