VOOZH about

URL: https://dzone.com/articles/access-minikube-using-kubectl-from-remote-machine

โ‡ฑ Access Minikube Using Kubectl From Remote Machine


Related

  1. DZone
  2. Data Engineering
  3. AI/ML
  4. Access Minikube Using Kubectl From Remote Machine

Access Minikube Using Kubectl From Remote Machine

Check out this article if you want to learn how to access Minikube development cluster with kubectl client, just like your access Kubernetes cluster to test your deployments.

By Aug. 31, 20 ยท Tutorial
Likes
Comment
Save
21.3K Views

Join the DZone community and get the full member experience.

Join For Free

What Is Minikube?

Minikube is a tool that makes it easy to run Kubernetes locally. It runs a single-node Kubernetes cluster inside a Virtual Machine (VM) on your laptop for users looking to try out Kubernetes or develop with it day-to-day. 

Installing Minikube

If you do not have a minikube setup just use the below link to setup. 

https://kubernetes.io/docs/setup/learning-environment/minikube/

Install Kubectl

 It will help you connect to the minikube API server and schedule deployments. 

curl -LO "https://storage.googleapis.com/kubernetes-release/release/

$(curl -s https://storage.googleapis.com/kubernetes-release/release/

stable.txt)/bin/linux/amd64/kubectl"

Apply Port Forwarding in Network Settings

Once the setup is done open the network setting of minikube in VirtualBox and adds port forwarding to 8443. Port 51928 is mapped to 8443 of minikube in network settings below. 

๐Ÿ‘ minikube

Start Minikube 

The next step is to start a minikube. Take a note of the IP address of your machine, for me, it was 192.168.0.101.

minikube start โ€” apiserver-ips=192.168.0.101

๐Ÿ‘ minikube start --apiserver-ips=192.168.0.101

Copy the Certificates and Key Files To Remote Machine

Copy ca.crt, client.crt and client.key to the remote machine and it has kubectl client, they are marked as yellow below. Please note both machines should be on the same network. 

๐Ÿ‘ apiserver

Run Base64 Encode

On remote machine Base64 encode the 3 files ca.crt, client.crt and client.crt and create a config file(location of config file is $HOME/.kube/config) with following content. 

Java




x
19


1
apiVersion: v1
2
clusters:
3
- cluster:
4
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERS0tLS0tCg==
5
server: https://192.168.0.101:51928
6
name: minikube
7
contexts:
8
- context:
9
cluster: minikube
10
user: minikube
11
name: minikube
12
current-context: minikube
13
kind: Config
14
preferences: {}
15
users:
16
- name: minikube
17
user:
18
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURBRENDQWVpZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFEBVEUtLS0tLQo=
19
 client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBcDM2eVJMNmt6cXVvQVBQWkxQNmlXNlZ1WHBteVZUeTBsR3pmUX0tLQo=



Replace Content of Following Keys With base64 Encoded Content in Kube Config File Above

certificate-authority-data: with base64 encoded ca.crt

client-certificate-data: with base64 encoded client.crt

client-key-data: with base64 encoded client.key

Access the Cluster  

You can now run the kubectl command to access this minikube cluster.

๐Ÿ‘ kube-system

Credits for help in starting minikube: 

https://github.com/kubernetes/minikube/issues/1974#issuecomment-360197415

Machine remote

Opinions expressed by DZone contributors are their own.

Related

  • Architecting Proactive IT: NinjaOne Remote Monitoring and Management
  • Beyond Fail-Safe: Designing Fail-Operational State Machines for Physical AI
  • From 13,000 to 20,000+ Endpoints: Architecting Forensics for the Remote Workforce
  • Supercharge AI Workflows on Azure: Remote MCP Tool Triggers + Your First TypeScript MCP Server

Partner Resources

ร—

Comments

The likes didn't load as expected. Please refresh the page and try again.

Let's be friends: