如何使用 kubectl 将 microk8s 集群部署到 VM 运行?
How to deploy to a VM running a microk8s cluster with kubectl?
我有一台 Windows 10 台机器 运行 一台带 Ubuntu 来宾的 Hyper-V 虚拟机。
Ubuntu,我的单节点 Kubernetes 集群安装了 Microk8s。
我不知道如何在 Win10 上设置我的 kubectl 以允许在 vm 中的 microk8s 集群上部署。
Atm,从外面,我可以通过 ssh 进入虚拟机,我可以到达 microk8s 的仪表板代理(在本例中是本地 https://ubuntuk8s:10443 )。
如何在我的 windows 上配置 kubectl 以部署到 vm 内的 microk8s?
简而言之,您可以将文件从 microk8s
实例复制 [=13=] 正在使用 (kubeconfig
) 到 Windows 机器以连接到您的 microk8s
实例.
由于您已经在 Windows 机器和配置了 microk8s
的 Ubuntu 之间建立了完全连接,您将需要:
- 在 Windows 机器上安装
kubectl
- 在您的 Windows 机器上复制并修改
kubeconfig
文件
- 测试连接
安装kubectl
你可以参考这个问题的官方文档link:
在您的 Windows 机器上复制并修改 kubeconfig
文件
IMPORTANT!
After a bit of research, I've found easier way for this step.
You will need to run microk8s.config
command on your microk8s
host. It will give you the necessary config to connect to your instance and you won't need to edit any fields. You will just need to use it with kubectl
on Windows machine.
I've left below part to give one of the options on how to check where the config file is located
这将取决于您使用的工具,但其背后的主要思想是登录到您的 Ubuntu 计算机,检查 kubeconfig
所在的位置,将其复制到 Windows 机器并将其编辑为指向您的 microk8s
实例(而不是 127.0.0.1
)的 IP 地址。
如果你可以 SSH
到 VM
你可以 运行 下面的命令来检查配置文件所在的位置(我认为这更像是一种变通解决方案):
microk8s kubectl get pods -v=6
I0506 09:10:14.285917 104183 loader.go:379] Config loaded from file: /var/snap/microk8s/2143/credentials/client.config
I0506 09:10:14.294968 104183 round_trippers.go:445] GET https://127.0.0.1:16443/api/v1/namespaces/default/pods?limit=500 200 OK in 5 milliseconds
No resources found in default namespace.
如您在此示例中所见,文件位于(您的设置中可能有所不同):
/var/snap/microk8s/2143/credentials/client.config
您需要通过 scp
或其他方式将此文件复制到您的 Windows 计算机。
复制后,您需要编辑此文件以更改负责指定 kubectl
应连接到的位置的字段:
- 之前:
server: https://127.0.0.1:16443
- 之后:
server: https://ubuntuk8s:16443
测试连接
检查您是否可以从 Windows 机器连接到 microk8s
实例的方法之一如下:
PS C:\Users\XYZ\Desktop> kubectl --kubeconfig=client.config get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ubuntu Ready <none> 101m v1.20.6-34+e4abae43f6acde 192.168.0.116 <none> Ubuntu 20.04.2 LTS 5.4.0-65-generic containerd://1.3.7
其中:
--kubeconfig=client.config
指定您下载的文件
其他资源:
我有一台 Windows 10 台机器 运行 一台带 Ubuntu 来宾的 Hyper-V 虚拟机。 Ubuntu,我的单节点 Kubernetes 集群安装了 Microk8s。
我不知道如何在 Win10 上设置我的 kubectl 以允许在 vm 中的 microk8s 集群上部署。
Atm,从外面,我可以通过 ssh 进入虚拟机,我可以到达 microk8s 的仪表板代理(在本例中是本地 https://ubuntuk8s:10443 )。
如何在我的 windows 上配置 kubectl 以部署到 vm 内的 microk8s?
简而言之,您可以将文件从 microk8s
实例复制 [=13=] 正在使用 (kubeconfig
) 到 Windows 机器以连接到您的 microk8s
实例.
由于您已经在 Windows 机器和配置了 microk8s
的 Ubuntu 之间建立了完全连接,您将需要:
- 在 Windows 机器上安装
kubectl
- 在您的 Windows 机器上复制并修改
kubeconfig
文件 - 测试连接
安装kubectl
你可以参考这个问题的官方文档link:
在您的 Windows 机器上复制并修改 kubeconfig
文件
IMPORTANT!
After a bit of research, I've found easier way for this step.
You will need to run
microk8s.config
command on yourmicrok8s
host. It will give you the necessary config to connect to your instance and you won't need to edit any fields. You will just need to use it withkubectl
on Windows machine.I've left below part to give one of the options on how to check where the config file is located
这将取决于您使用的工具,但其背后的主要思想是登录到您的 Ubuntu 计算机,检查 kubeconfig
所在的位置,将其复制到 Windows 机器并将其编辑为指向您的 microk8s
实例(而不是 127.0.0.1
)的 IP 地址。
如果你可以 SSH
到 VM
你可以 运行 下面的命令来检查配置文件所在的位置(我认为这更像是一种变通解决方案):
microk8s kubectl get pods -v=6
I0506 09:10:14.285917 104183 loader.go:379] Config loaded from file: /var/snap/microk8s/2143/credentials/client.config
I0506 09:10:14.294968 104183 round_trippers.go:445] GET https://127.0.0.1:16443/api/v1/namespaces/default/pods?limit=500 200 OK in 5 milliseconds
No resources found in default namespace.
如您在此示例中所见,文件位于(您的设置中可能有所不同):
/var/snap/microk8s/2143/credentials/client.config
您需要通过 scp
或其他方式将此文件复制到您的 Windows 计算机。
复制后,您需要编辑此文件以更改负责指定 kubectl
应连接到的位置的字段:
- 之前:
server: https://127.0.0.1:16443
- 之后:
server: https://ubuntuk8s:16443
测试连接
检查您是否可以从 Windows 机器连接到 microk8s
实例的方法之一如下:
PS C:\Users\XYZ\Desktop> kubectl --kubeconfig=client.config get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ubuntu Ready <none> 101m v1.20.6-34+e4abae43f6acde 192.168.0.116 <none> Ubuntu 20.04.2 LTS 5.4.0-65-generic containerd://1.3.7
其中:
--kubeconfig=client.config
指定您下载的文件
其他资源: