首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用带有GKE的KubeVirt启动VM

无法使用带有GKE的KubeVirt启动VM
EN

Stack Overflow用户
提问于 2020-03-19 01:22:35
回答 2查看 767关注 0票数 3

目前,我尝试在KubeVirt集群中使用GKE

我所做的(跟随正式文件):

console

  • Install
  1. 通过GCP cluster
  2. Install kubectl本地创建一个具有3个节点的GKE集群,并通过kubectl
  3. 安装virtctl (本地H 215H 116set debug.useEmulationtrue
  4. create testvm (按演示方式)连接到此cluster
  5. Install kubevirtH 222G 223

但是现在我很难启动vm。

  1. 如果我试图通过"virtctl start testvm"启动它,我会得到以下错误消息:

“启动VirtualMachine服务器要求客户端提供凭据的错误”

  1. 如果我试图修改VM模板以设置它默认运行,它不能工作either.In virt-launcher pod,计算容器成功启动,但volumecontainerdisk失败,有以下日志:

代码语言:javascript
复制
standard_init_linux.go:211: exec user process caused "permission denied"

任何帮助都是非常感谢的,谢谢。

EN

回答 2

Stack Overflow用户

发布于 2021-06-12 12:14:15

在使用gcloud container clusters get-credentials...从本地连接到集群时,默认的GKE方法似乎存在问题。

对我起作用的是创建一个新的SA,并为它创建一个kubeconfig:

代码语言:javascript
复制
{
kubectl create sa deployer
kubectl create clusterrolebinding deployer --clusterrole cluster-admin --serviceaccount default:deployer

KUBE_DEPLOY_SECRET_NAME=`kubectl get sa deployer -o jsonpath='{.secrets[0].name}'`
KUBE_API_EP=`kubectl get ep -o jsonpath='{.items[0].subsets[0].addresses[0].ip}'`
KUBE_API_TOKEN=`kubectl get secret $KUBE_DEPLOY_SECRET_NAME -o jsonpath='{.data.token}'|base64 --decode`
KUBE_API_CA=`kubectl get secret $KUBE_DEPLOY_SECRET_NAME -o jsonpath='{.data.ca\.crt}'|base64 --decode`
echo $KUBE_API_CA > tmp.deploy.ca.crt

export KUBECONFIG=./my-new-kubeconfig
kubectl config set-cluster k8s --server=https://$KUBE_API_EP --certificate-authority=tmp.deploy.ca.crt --embed-certs=true
kubectl config set-credentials k8s-deployer --token=$KUBE_API_TOKEN
kubectl config set-context k8s --cluster k8s --user k8s-deployer
kubectl config use-context k8s

rm tmp.deploy.ca.crt
unset KUBECONFIG
}

kubectl virt start testvm --kubeconfig ./my-new-kubeconfig

更多解释:https://faun.pub/manually-connect-to-your-kubernetes-cluster-from-the-outside-d852346a7f0a

票数 1
EN

Stack Overflow用户

发布于 2021-08-24 10:26:13

您可以通过使用virtctl更新vm的清单来启动VM,而无需使用kubectl

代码语言:javascript
复制
kubectl patch virtualmachine testvm --type merge -p '{"spec":{"running":true}}'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60749667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档