instruction: Create a Dockerfile for cluster
output: ```dockerfile
  from the API server to a node, pod, or service default to plain HTTP connections
  and are therefore neither authenticated nor encrypted. They can be run over a secure HTTPS
  connection by prefixing https: to the node, pod, or service name in the API URL, but they will
  not validate the certificate provided by the HTTPS endpoint nor provide client credentials. So
  while the connection will be encrypted, it will not provide any guarantees of integrity. These
  connections are not currently safe to run over untrusted or public networks.
  SSH tunnels
  Kubernetes supports SSH tunnels to protect the control plane to nodes communication paths. In this
  configuration, the API server initiates an SSH tunnel to each node in the cluster (connecting to
  the SSH server listening on port 22) and passes all traffic destined for a kubelet, node, pod, or
  service through the tunnel.
  This tunnel ensures that the traffic is not exposed outside of the network in which the nodes are
  running.
  Note:SSH tunnels are currently deprecated, so you shouldn't opt to use them unless you know what you
  are doing. The Konnectivity service is a replacement for this
  communication channel.
  Konnectivity service
  
  FEATURE STATE: Kubernetes v1.18 [beta]
  
  As a replacement to the SSH tunnels, the Konnectivity service provides TCP level proxy for the
  control plane to cluster communication. The Konnectivity service consists of two parts: the
  Konnectivity server in the control plane network and the Konnectivity agents in the nodes network.
  The Konnectivity agents initiate connections to the Konnectivity server and maintain the network
  connections.
  After enabling the Konnectivity service, all control plane to nodes traffic goes through these
  connections.
  Follow the Konnectivity service task to set
  up the Konnectivity service in your cluster.
  What's next
  
  Read about the Kubernetes control plane components
  Learn more about Hubs and Spoke model
  Learn how to Secure a Cluster
  Learn more about the Kubernetes API
  Set up Konnectivity service
  Use Port Forwarding to Access Applications in a Cluster
  Learn how to Fetch logs for Pods, use kubectl port-forward
  
  Feedback
  Was this page helpful?
  Yes
  No
  
   Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on
  
   Stack Overflow.
   Open an issue in the GitHub Repository if you want to
  
   report a problem
   or
  
   suggest an improvement.
  
   Last modified November 24, 2022 at 7:13 PM PST: Adding references and glossary tooltip to control-plain-node-communication (e3c09aedf1)
  
    Create child page
   Create an issue
   Print entire section
  
  Node to Control Plane
  Control plane to node
  
  API server to kubelet
  API server to nodes, pods, and services
  SSH tunnels
  Konnectivity service
  
  What's next
  
  Documentation
  Blog
  Training
  Partners
  Community
  Case Studies
  
  © 2025 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
  
  ICP license: 京ICP备17074266号-3
  ```