DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Every Generation Fears the Machine. Here Is How the AI Job Panic Usually Ends
  • Improving Repeated Analytics Workloads With Databricks Disk Cache
  • Machine Identity Debt
  • Machine Identity Debt: Why Human Identity Is No Longer Cloud Security's Primary Boundary

Trending

  • AI Agents Need an Identity Plane: Rethinking Enterprise Authorization for Autonomous Software
  • Treat Salesforce Configuration Like Code: Release Discipline in a Copado Pipeline
  • After the AI Commit: What Eight Retrospectives Taught Me About Working With Coding Agents
  • A Non-Expiring AKS Deployment Token Could Read Secrets Across Three Namespaces

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

  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 
Kuljeet Singh
·
Aug. 31, 20 · Tutorial
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
21.5K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

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

  • Every Generation Fears the Machine. Here Is How the AI Job Panic Usually Ends
  • Improving Repeated Analytics Workloads With Databricks Disk Cache
  • Machine Identity Debt
  • Machine Identity Debt: Why Human Identity Is No Longer Cloud Security's Primary Boundary

Partner Resources

×

Comments

Loading comments

The comments didn't load

Please try again in a moment.

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook