A Linux Container is an execution environment that has been sandboxed using Linux Kernel features such as CGROUPS and Namespaces. While not the original inventors of Linux Containers, Docker popularized them and thus the terms “docker container” and “linux container” are often interchangeable.
A controller is a program that runs to compare the desired state with the actual state of a resource and attempts to make the two match.
A Declarative command is a
kubectl command that modifies the desired state of a resources.
An Imperative command is a
kubectl command that acts directly on a live resource.