kubectl
  kubectl controls the Kubernetes cluster manager.
  Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/
   
  Basic Commands (Beginner):
    create        Create a resource from a file or from stdin.
    expose        Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service
    run           Run a particular image on the cluster
    set           Set specific features on objects
   
  Basic Commands (Intermediate):
    explain       Documentation of resources
    get           Display one or many resources
    edit          Edit a resource on the server
    delete        Delete resources by filenames, stdin, resources and names, or by resources and label selector
   
  Deploy Commands:
    rollout       Manage the rollout of a resource
    scale         Set a new size for a Deployment, ReplicaSet or Replication Controller
    autoscale     Auto-scale a Deployment, ReplicaSet, or ReplicationController
   
  Cluster Management Commands:
    certificate   Modify certificate resources.
    cluster-info  Display cluster info
    top           Display Resource (CPU/Memory/Storage) usage.
    cordon        Mark node as unschedulable
    uncordon      Mark node as schedulable
    drain         Drain node in preparation for maintenance
    taint         Update the taints on one or more nodes
   
  Troubleshooting and Debugging Commands:
    describe      Show details of a specific resource or group of resources
    logs          Print the logs for a container in a pod
    attach        Attach to a running container
    exec          Execute a command in a container
    port-forward  Forward one or more local ports to a pod
    proxy         Run a proxy to the Kubernetes API server
    cp            Copy files and directories to and from containers.
    auth          Inspect authorization
    debug         Create debugging sessions for troubleshooting workloads and nodes
   
  Advanced Commands:
    diff          Diff live version against would-be applied version
    apply         Apply a configuration to a resource by filename or stdin
    patch         Update field(s) of a resource
    replace       Replace a resource by filename or stdin
    wait          Experimental: Wait for a specific condition on one or many resources.
    kustomize     Build a kustomization target from a directory or a remote url.
   
  Settings Commands:
    label         Update the labels on a resource
    annotate      Update the annotations on a resource
    completion    Output shell completion code for the specified shell (bash or zsh)
   
  Other Commands:
    api-resources Print the supported API resources on the server
    api-versions  Print the supported API versions on the server, in the form of "group/version"
    config        Modify kubeconfig files
    plugin        Provides utilities for interacting with plugins.
    version       Print the client and server version information
  Usage:
    kubectl [flags] [options]
   
  Use "kubectl <command> --help" for more information about a given command.
  Use "kubectl options" for a list of global command-line options (applies to all commands).
   
   
  ###############################
  kubeadm
   
      │ KUBEADM                                                   │
      │ Easily bootstrap a secure Kubernetes cluster              │
      │                                                          │
      │ Please give us feedback at:                               │
      │ https://github.com/kubernetes/kubeadm/issues              │
      
  Example usage:
   
      Create a two-machine cluster with one control-plane node
      (which controls the cluster), and one worker node
      (where your workloads, like Pods and Deployments run).
   
  ───────────────────┘
      │ On the first machine:                                     │
      │ control-plane# kubeadm init                               │
      └──────────────────────
      │ On the second machine:                                    │
      │ worker# kubeadm join <arguments-returned-from-init>       │
      └────────────────────────
   
      You can then repeat the second step on as many other machines as you like.
   
  Usage:
    kubeadm [command]
   
  Available Commands:
    alpha       Kubeadm experimental sub-commands
    certs       Commands related to handling kubernetes certificates
    completion  Output shell completion code for the specified shell (bash or zsh)
    config      Manage configuration for a kubeadm cluster persisted in a ConfigMap in the cluster
    help        Help about any command
    init        Run this command in order to set up the Kubernetes control plane
    join        Run this on any machine you wish to join an existing cluster
    reset       Performs a best effort revert of changes made to this host by 'kubeadm init' or 'kubeadm join'
    token       Manage bootstrap tokens
    upgrade     Upgrade your cluster smoothly to a newer version with this command
    version     Print the version of kubeadm
   
  Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
    -h, --help                     help for kubeadm
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
  Use "kubeadm [command] --help" for more information about a command.
  ############################
  
  https://minikube.sigs.k8s.io/docs/start/
  https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe
  minikube start
  ..\Kubernetes\Minikube>minikube
  
  minikube provisions and manages local Kubernetes clusters optimized for development workflows.
  
  Basic Commands:
    start          Starts a local Kubernetes cluster
    status         Gets the status of a local Kubernetes cluster
    stop           Stops a running local Kubernetes cluster
    delete         Deletes a local Kubernetes cluster
    dashboard      Access the Kubernetes dashboard running within the minikube cluster
    pause          pause Kubernetes
    unpause        unpause Kubernetes
  
  Images Commands:
    docker-env     Configure environment to use minikube's Docker daemon
    podman-env     Configure environment to use minikube's Podman service
    cache          Add, delete, or push a local image into minikube
    image          Load a local image into minikube
  
  Configuration and Management Commands:
    addons         Enable or disable a minikube addon
    config         Modify persistent configuration values
    profile        Get or list the current profiles (clusters)
    update-context Update kubeconfig in case of an IP or port change
  
  Networking and Connectivity Commands:
    service        Returns a URL to connect to a service
    tunnel         Connect to LoadBalancer services
  
  Advanced Commands:
    mount          Montuje podany katalog wewnątrz minikube
    ssh            Log into the minikube environment (for debugging)
    kubectl        Run a kubectl binary matching the cluster version
    node           Add, remove, or list additional nodes
  
  Troubleshooting Commands:
    ssh-key        Retrieve the ssh identity key path of the specified node
    ssh-host       Retrieve the ssh host key of the specified node
    ip             Retrieves the IP address of the specified node
    logs           Returns logs to debug a local Kubernetes cluster
    update-check   Wyświetl aktualną i najnowszą wersję
    version        Wyświetl wersję minikube
  
  
  Other Commands:
    completion     Generate command completion for a shell
  
  Use "minikube <command> --help" for more information about a given command 
  
  ###################################
  kubeadm completion --help
   
  Output shell completion code for the specified shell (bash or zsh).
  The shell code must be evaluated to provide interactive
  completion of kubeadm commands. This can be done by sourcing it from
  the .bash_profile.
   
  Note: this requires the bash-completion framework.
   
  To install it on Mac use homebrew:
      $ brew install bash-completion
  Once installed, bash_completion must be evaluated. This can be done by adding the
  following line to the .bash_profile
      $ source $(brew --prefix)/etc/bash_completion
   
  If bash-completion is not installed on Linux, please install the 'bash-completion' package
  via your distribution's package manager.
   
  Note for zsh users: [1] zsh completions are only supported in versions of zsh >= 5.2
   
  Usage:
    kubeadm completion SHELL [flags]
   
  Examples:
   
  # Install bash completion on a Mac using homebrew
  brew install bash-completion
  printf "\n# Bash completion support\nsource $(brew --prefix)/etc/bash_completion\n" >> $HOME/.bash_profile
  source $HOME/.bash_profile
   
  # Load the kubeadm completion code for bash into the current shell
  source <(kubeadm completion bash)
   
  # Write bash completion code to a file and source it from .bash_profile
  kubeadm completion bash > ~/.kube/kubeadm_completion.bash.inc
  printf "\n# Kubeadm shell completion\nsource '$HOME/.kube/kubeadm_completion.bash.inc'\n" >> $HOME/.bash_profile
  source $HOME/.bash_profile
   
  # Load the kubeadm completion code for zsh[1] into the current shell
  source <(kubeadm completion zsh)
   
  Flags:
    -h, --help   help for completion
   
  Global Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
   
  ###############################
  kubeadm init --help
  Run this command in order to set up the Kubernetes control plane
   
  The "init" command executes the following phases:
  ```
  preflight                    Run pre-flight checks
  certs                        Certificate generation
    /ca                          Generate the self-signed Kubernetes CA to provision identities for other Kubernetes components
    /apiserver                   Generate the certificate for serving the Kubernetes API
    /apiserver-kubelet-client    Generate the certificate for the API server to connect to kubelet
    /front-proxy-ca              Generate the self-signed CA to provision identities for front proxy
    /front-proxy-client          Generate the certificate for the front proxy client
    /etcd-ca                     Generate the self-signed CA to provision identities for etcd
    /etcd-server                 Generate the certificate for serving etcd
    /etcd-peer                   Generate the certificate for etcd nodes to communicate with each other
    /etcd-healthcheck-client     Generate the certificate for liveness probes to healthcheck etcd
    /apiserver-etcd-client       Generate the certificate the apiserver uses to access etcd
    /sa                          Generate a private key for signing service account tokens along with its public key
  kubeconfig                   Generate all kubeconfig files necessary to establish the control plane and the admin kubeconfig file
    /admin                       Generate a kubeconfig file for the admin to use and for kubeadm itself
    /kubelet                     Generate a kubeconfig file for the kubelet to use *only* for cluster bootstrapping purposes
    /controller-manager          Generate a kubeconfig file for the controller manager to use
    /scheduler                   Generate a kubeconfig file for the scheduler to use
  kubelet-start                Write kubelet settings and (re)start the kubelet
  control-plane                Generate all static Pod manifest files necessary to establish the control plane
    /apiserver                   Generates the kube-apiserver static Pod manifest
    /controller-manager          Generates the kube-controller-manager static Pod manifest
    /scheduler                   Generates the kube-scheduler static Pod manifest
  etcd                         Generate static Pod manifest file for local etcd
    /local                       Generate the static Pod manifest file for a local, single-node local etcd instance
  upload-config                Upload the kubeadm and kubelet configuration to a ConfigMap
    /kubeadm                     Upload the kubeadm ClusterConfiguration to a ConfigMap
    /kubelet                     Upload the kubelet component config to a ConfigMap
  upload-certs                 Upload certificates to kubeadm-certs
  mark-control-plane           Mark a node as a control-plane
  bootstrap-token              Generates bootstrap tokens used to join a node to a cluster
  kubelet-finalize             Updates settings relevant to the kubelet after TLS bootstrap
    /experimental-cert-rotation  Enable kubelet client certificate rotation
  addon                        Install required addons for passing Conformance tests
    /coredns                     Install the CoreDNS addon to a Kubernetes cluster
    /kube-proxy                  Install the kube-proxy addon to a Kubernetes cluster
  ```
   
  Usage:
    kubeadm init [flags]
    kubeadm init [command]
   
  Available Commands:
    phase       Use this command to invoke single phase of the init workflow
   
  Flags:
        --apiserver-advertise-address string   The IP address the API Server will advertise it's listening on. If not set the default network interface will be used.
        --apiserver-bind-port int32            Port for the API Server to bind to. (default 6443)
        --apiserver-cert-extra-sans strings    Optional extra Subject Alternative Names (SANs) to use for the API Server serving certificate. Can be both IP addresses and DNS names.
        --cert-dir string                      The path where to save and store the certificates. (default "/etc/kubernetes/pki")
        --certificate-key string               Key used to encrypt the control-plane certificates in the kubeadm-certs Secret.
        --config string                        Path to a kubeadm configuration file.
        --control-plane-endpoint string        Specify a stable IP address or DNS name for the control plane.
        --cri-socket string                    Path to the CRI socket to connect. If empty kubeadm will try to auto-detect this value; use this option only if you have more than one CRI installed or if you have non-standard   CRI socket.
        --dry-run                              Don't apply any changes; just output what would be done.
        --experimental-patches string          Path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "patchtype" can be one   of "strategic", "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches are applied   first alpha-numerically.
        --feature-gates string                 A set of key=value pairs that describe feature gates for various features. Options are:
                                               IPv6DualStack=true|false (ALPHA - default=false)
                                               PublicKeysECDSA=true|false (ALPHA - default=false)
    -h, --help                                 help for init
        --ignore-preflight-errors strings      A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
        --image-repository string              Choose a container registry to pull control plane images from (default "k8s.gcr.io")
        --kubernetes-version string            Choose a specific Kubernetes version for the control plane. (default "stable-1")
        --node-name string                     Specify the node name.
        --pod-network-cidr string              Specify range of IP addresses for the pod network. If set, the control plane will automatically allocate CIDRs for every node.
        --service-cidr string                  Use alternative range of IP address for service VIPs. (default "10.96.0.0/12")
        --service-dns-domain string            Use alternative domain for services, e.g. "myorg.internal". (default "cluster.local")
        --skip-certificate-key-print           Don't print the key used to encrypt the control-plane certificates.
        --skip-phases strings                  List of phases to be skipped
        --skip-token-print                     Skip printing of the default bootstrap token generated by 'kubeadm init'.
        --token string                         The token to use for establishing bidirectional trust between nodes and control-plane nodes. The format is [a-z0-9]{6}\.[a-z0-9]{16} - e.g. abcdef.0123456789abcdef
        --token-ttl duration                   The duration before the token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expire (default 24h0m0s)
        --upload-certs                         Upload control-plane certificates to the kubeadm-certs Secret.
   
  Global Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
  Use "kubeadm init [command] --help" for more information about a command.
   
   
  ###############################
  kubeadm join --help
   
  When joining a kubeadm initialized cluster, we need to establish
  bidirectional trust. This is split into discovery (having the Node
  trust the Kubernetes Control Plane) and TLS bootstrap (having the
  Kubernetes Control Plane trust the Node).
   
  There are 2 main schemes for discovery. The first is to use a shared
  token along with the IP address of the API server. The second is to
  provide a file - a subset of the standard kubeconfig file. This file
  can be a local file or downloaded via an HTTPS URL. The forms are
  kubeadm join --discovery-token abcdef.1234567890abcdef 1.2.3.4:6443,
  kubeadm join --discovery-file path/to/file.conf, or kubeadm join
  --discovery-file https://url/file.conf. Only one form can be used. If
  the discovery information is loaded from a URL, HTTPS must be used.
  Also, in that case the host installed CA bundle is used to verify
  the connection.
   
  If you use a shared token for discovery, you should also pass the
  --discovery-token-ca-cert-hash flag to validate the public key of the
  root certificate authority (CA) presented by the Kubernetes Control Plane.
  The value of this flag is specified as "<hash-type>:<hex-encoded-value>",
  where the supported hash type is "sha256". The hash is calculated over
  the bytes of the Subject Public Key Info (SPKI) object (as in RFC7469).
  This value is available in the output of "kubeadm init" or can be
  calculated using standard tools. The --discovery-token-ca-cert-hash flag
  may be repeated multiple times to allow more than one public key.
   
  If you cannot know the CA public key hash ahead of time, you can pass
  the --discovery-token-unsafe-skip-ca-verification flag to disable this
  verification. This weakens the kubeadm security model since other nodes
  can potentially impersonate the Kubernetes Control Plane.
   
  The TLS bootstrap mechanism is also driven via a shared token. This is
  used to temporarily authenticate with the Kubernetes Control Plane to submit a
  certificate signing request (CSR) for a locally created key pair. By
  default, kubeadm will set up the Kubernetes Control Plane to automatically
  approve these signing requests. This token is passed in with the
  --tls-bootstrap-token abcdef.1234567890abcdef flag.
   
  Often times the same token is used for both parts. In this case, the
  --token flag can be used instead of specifying each token individually.
   
   
  The "join [api-server-endpoint]" command executes the following phases:
  ```
  preflight              Run join pre-flight checks
  control-plane-prepare  Prepare the machine for serving a control plane
    /download-certs        [EXPERIMENTAL] Download certificates shared among control-plane nodes from the kubeadm-certs Secret
    /certs                 Generate the certificates for the new control plane components
    /kubeconfig            Generate the kubeconfig for the new control plane components
    /control-plane         Generate the manifests for the new control plane components
  kubelet-start          Write kubelet settings, certificates and (re)start the kubelet
  control-plane-join     Join a machine as a control plane instance
    /etcd                  Add a new local etcd member
    /update-status         Register the new control-plane node into the ClusterStatus maintained in the kubeadm-config ConfigMap
    /mark-control-plane    Mark a node as a control-plane
  ```
   
  Usage:
    kubeadm join [api-server-endpoint] [flags]
    kubeadm join [command]
   
  Available Commands:
    phase       Use this command to invoke single phase of the join workflow
   
  Flags:
        --apiserver-advertise-address string            If the node should host a new control plane instance, the IP address the API Server will advertise it's listening on. If not set the default network interface will   be used.
        --apiserver-bind-port int32                     If the node should host a new control plane instance, the port for the API Server to bind to. (default 6443)
        --certificate-key string                        Use this key to decrypt the certificate secrets uploaded by init.
        --config string                                 Path to kubeadm config file.
        --control-plane                                 Create a new control plane instance on this node
        --cri-socket string                             Path to the CRI socket to connect. If empty kubeadm will try to auto-detect this value; use this option only if you have more than one CRI installed or if you have   non-standard CRI socket.
        --discovery-file string                         For file-based discovery, a file or URL from which to load cluster information.
        --discovery-token string                        For token-based discovery, the token used to validate cluster information fetched from the API server.
        --discovery-token-ca-cert-hash strings          For token-based discovery, validate that the root CA public key matches this hash (format: "<type>:<value>").
        --discovery-token-unsafe-skip-ca-verification   For token-based discovery, allow joining without --discovery-token-ca-cert-hash pinning.
        --experimental-patches string                   Path to a directory that contains files named "target[suffix][+patchtype].extension". For example, "kube-apiserver0+merge.yaml" or just "etcd.json". "patchtype" can   be one of "strategic", "merge" or "json" and they match the patch formats supported by kubectl. The default "patchtype" is "strategic". "extension" must be either "json" or "yaml". "suffix" is an optional string that can be used to determine which patches   are applied first alpha-numerically.
    -h, --help                                          help for join
        --ignore-preflight-errors strings               A list of checks whose errors will be shown as warnings. Example: 'IsPrivilegedUser,Swap'. Value 'all' ignores errors from all checks.
        --node-name string                              Specify the node name.
        --skip-phases strings                           List of phases to be skipped
        --tls-bootstrap-token string                    Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.
        --token string                                  Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.
   
  Global Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
  Use "kubeadm join [command] --help" for more information about a command.
   
   
  ###############################
  kubeadm certs --help
  Commands related to handling kubernetes certificates
   
  Usage:
    kubeadm certs [command]
   
  Aliases:
    certs, certificates
   
  Available Commands:
    certificate-key  Generate certificate keys
    check-expiration Check certificates expiration for a Kubernetes cluster
    generate-csr     Generate keys and certificate signing requests
    renew            Renew certificates for a Kubernetes cluster
   
  Flags:
    -h, --help   help for certs
   
  Global Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
  Use "kubeadm certs [command] --help" for more information about a command.
   
   
  ###############################
  kubeadm upgrade --help
  Upgrade your cluster smoothly to a newer version with this command
   
  Usage:
    kubeadm upgrade [flags]
    kubeadm upgrade [command]
   
  Available Commands:
    apply       Upgrade your Kubernetes cluster to the specified version
    diff        Show what differences would be applied to existing static pod manifests. See also: kubeadm upgrade apply --dry-run
    node        Upgrade commands for a node in the cluster
    plan        Check which versions are available to upgrade to and validate whether your current cluster is upgradeable. To skip the internet check, pass in the optional [version] parameter
   
  Flags:
    -h, --help   help for upgrade
   
  Global Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
  Use "kubeadm upgrade [command] --help" for more information about a command.
   
   
   
  ###############################
  kubeadm config --help
   
  There is a ConfigMap in the kube-system namespace called "kubeadm-config" that kubeadm uses to store internal configuration about the
  cluster. kubeadm CLI v1.8.0+ automatically creates this ConfigMap with the config used with 'kubeadm init', but if you
  initialized your cluster using kubeadm v1.7.x or lower, you must use the 'config upload' command to create this
  ConfigMap. This is required so that 'kubeadm upgrade' can configure your upgraded cluster correctly.
   
  Usage:
    kubeadm config [flags]
    kubeadm config [command]
   
  Available Commands:
    images      Interact with container images used by kubeadm
    migrate     Read an older version of the kubeadm configuration API types from a file, and output the similar config object for the newer version
    print       Print configuration
   
  Flags:
    -h, --help                help for config
        --kubeconfig string   The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
   
  Global Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
  Use "kubeadm config [command] --help" for more information about a command.
   
   
  ###############################
  kubeadm token --help
   
  This command manages bootstrap tokens. It is optional and needed only for advanced use cases.
   
  In short, bootstrap tokens are used for establishing bidirectional trust between a client and a server.
  A bootstrap token can be used when a client (for example a node that is about to join the cluster) needs
  to trust the server it is talking to. Then a bootstrap token with the "signing" usage can be used.
  bootstrap tokens can also function as a way to allow short-lived authentication to the API Server
  (the token serves as a way for the API Server to trust the client), for example for doing the TLS Bootstrap.
   
  What is a bootstrap token more exactly?
  - It is a Secret in the kube-system namespace of type "bootstrap.kubernetes.io/token".
  - A bootstrap token must be of the form "[a-z0-9]{6}.[a-z0-9]{16}". The former part is the public token ID,
     while the latter is the Token Secret and it must be kept private at all circumstances!
  - The name of the Secret must be named "bootstrap-token-(token-id)".
   
  You can read more about bootstrap tokens here:
    https://kubernetes.io/docs/admin/bootstrap-tokens/
   
  Usage:
    kubeadm token [flags]
    kubeadm token [command]
   
  Available Commands:
    create      Create bootstrap tokens on the server
    delete      Delete bootstrap tokens on the server
    generate    Generate and print a bootstrap token, but do not create it on the server
    list        List bootstrap tokens on the server
   
  Flags:
        --dry-run             Whether to enable dry-run mode or not
    -h, --help                help for token
        --kubeconfig string   The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
   
  Global Flags:
        --add-dir-header           If true, adds the file directory to the header of the log messages
        --log-file string          If non-empty, use this log file
        --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
        --one-output               If true, only write logs to their native severity level (vs also writing to each lower severity level
        --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
        --skip-headers             If true, avoid header prefixes in the log messages
        --skip-log-headers         If true, avoid headers when opening log files
    -v, --v Level                  number for the log level verbosity
   
  Use "kubeadm token [command] --help" for more information about a command
  ###############################
  kubectl
  kubectl controls the Kubernetes cluster manager.
   
  Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/
   
  Basic Commands (Beginner):
    create        Create a resource from a file or from stdin.
    expose        Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service
    run           Run a particular image on the cluster
    set           Set specific features on objects
   
  Basic Commands (Intermediate):
    explain       Documentation of resources
    get           Display one or many resources
    edit          Edit a resource on the server
    delete        Delete resources by filenames, stdin, resources and names, or by resources and label selector
   
  Deploy Commands:
    rollout       Manage the rollout of a resource
    scale         Set a new size for a Deployment, ReplicaSet or Replication Controller
    autoscale     Auto-scale a Deployment, ReplicaSet, or ReplicationController
   
  Cluster Management Commands:
    certificate   Modify certificate resources.
    cluster-info  Display cluster info
    top           Display Resource (CPU/Memory/Storage) usage.
    cordon        Mark node as unschedulable
    uncordon      Mark node as schedulable
    drain         Drain node in preparation for maintenance
    taint         Update the taints on one or more nodes
   
  Troubleshooting and Debugging Commands:
    describe      Show details of a specific resource or group of resources
    logs          Print the logs for a container in a pod
    attach        Attach to a running container
    exec          Execute a command in a container
    port-forward  Forward one or more local ports to a pod
    proxy         Run a proxy to the Kubernetes API server
    cp            Copy files and directories to and from containers.
    auth          Inspect authorization
    debug         Create debugging sessions for troubleshooting workloads and nodes
   
  Advanced Commands:
    diff          Diff live version against would-be applied version
    apply         Apply a configuration to a resource by filename or stdin
    patch         Update field(s) of a resource
    replace       Replace a resource by filename or stdin
    wait          Experimental: Wait for a specific condition on one or many resources.
    kustomize     Build a kustomization target from a directory or a remote url.
   
  Settings Commands:
    label         Update the labels on a resource
    annotate      Update the annotations on a resource
    completion    Output shell completion code for the specified shell (bash or zsh)
   
  Other Commands:
    api-resources Print the supported API resources on the server
    api-versions  Print the supported API versions on the server, in the form of "group/version"
    config        Modify kubeconfig files
    plugin        Provides utilities for interacting with plugins.
    version       Print the client and server version information
   
  Usage:
    kubectl [flags] [options]
   
  Use "kubectl <command> --help" for more information about a given command.
  Use "kubectl options" for a list of global command-line options (applies to all commands).
   
   
  ###############################
  kubectl create --help 
  Create a resource from a file or from stdin.
   
  JSON and YAML formats are accepted.
   
  Examples:
    # Create a pod using the data in pod.json.
    kubectl create -f ./pod.json
    
    # Create a pod based on the JSON passed into stdin.
    cat pod.json | kubectl create -f -
    
    # Edit the data in docker-registry.yaml in JSON then create the resource using the edited data.
    kubectl create -f docker-registry.yaml --edit -o json
   
  Available Commands:
    clusterrole         Create a ClusterRole.
    clusterrolebinding  Create a ClusterRoleBinding for a particular ClusterRole
    configmap           Create a configmap from a local file, directory or literal value
    cronjob             Create a cronjob with the specified name.
    deployment          Create a deployment with the specified name.
    ingress             Create an ingress with the specified name.
    job                 Create a job with the specified name.
    namespace           Create a namespace with the specified name
    poddisruptionbudget Create a pod disruption budget with the specified name.
    priorityclass       Create a priorityclass with the specified name.
    quota               Create a quota with the specified name.
    role                Create a role with single rule.
    rolebinding         Create a RoleBinding for a particular Role or ClusterRole
    secret              Create a secret using specified subcommand
    service             Create a service using specified subcommand.
    serviceaccount      Create a service account with the specified name
   
  Options:
        --allow-missing-template-keys=true: If true, ignore any errors in templates when a field or map key is missing in
  the template. Only applies to golang and jsonpath output formats.
        --dry-run='none': Must be "none", "server", or "client". If client strategy, only print the object that would be
  sent, without sending it. If server strategy, submit server-side request without persisting the resource.
        --edit=false: Edit the API resource before creating
        --field-manager='kubectl-create': Name of the manager used to track field ownership.
    -f, --filename=[]: Filename, directory, or URL to files to use to create the resource
    -k, --kustomize='': Process the kustomization directory. This flag can't be used together with -f or -R.
    -o, --output='': Output format. One of:
  json|yaml|name|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file.
        --raw='': Raw URI to POST to the server.  Uses the transport specified by the kubeconfig file.
        --record=false: Record current kubectl command in the resource annotation. If set to false, do not record the
  command. If set to true, record the command. If not set, default to updating the existing annotation value only if one
  already exists.
    -R, --recursive=false: Process the directory used in -f, --filename recu