instruction: Create a comprehensive Dockerfile for cluster applications with best practices
output: ```dockerfile
  from trusted sources. Using a specially-crafted kubeconfig file could result in malicious code execution or file exposure.
  If you must use an untrusted kubeconfig file, inspect it carefully first, much as you would a shell script.By default, kubectl looks for a file named config in the $HOME/.kube directory.
  You can specify other kubeconfig files by setting the KUBECONFIG environment
  variable or by setting the
  --kubeconfig flag.For step-by-step instructions on creating and specifying kubeconfig files, see
  Configure Access to Multiple Clusters.Supporting multiple clusters, users, and authentication mechanismsSuppose you have several clusters, and your users and components authenticate
  in a variety of ways. For example:A running kubelet might authenticate using certificates.A user might authenticate using tokens.Administrators might have sets of certificates that they provide to individual users.With kubeconfig files, you can organize your clusters, users, and namespaces.
  You can also define contexts to quickly and easily switch between
  clusters and namespaces.ContextA context element in a kubeconfig file is used to group access parameters
  under a convenient name. Each context has three parameters: cluster, namespace, and user.
  By default, the kubectl command-line tool uses parameters
  ```