目前,我尝试在KubeVirt集群中使用GKE。
我所做的(跟随正式文件):
console
kubectl本地创建一个具有3个节点的GKE集群,并通过kubectl virtctl (本地H 215H 116set debug.useEmulation以truetestvm (按演示方式)连接到此clusterkubevirt。H 222G 223但是现在我很难启动vm。
"virtctl start testvm"启动它,我会得到以下错误消息:“启动VirtualMachine服务器要求客户端提供凭据的错误”
virt-launcher pod,计算容器成功启动,但volumecontainerdisk失败,有以下日志:standard_init_linux.go:211: exec user process caused "permission denied"任何帮助都是非常感谢的,谢谢。
发布于 2021-06-12 12:14:15
在使用gcloud container clusters get-credentials...从本地连接到集群时,默认的GKE方法似乎存在问题。
对我起作用的是创建一个新的SA,并为它创建一个kubeconfig:
{
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
发布于 2021-08-24 10:26:13
您可以通过使用virtctl更新vm的清单来启动VM,而无需使用kubectl
kubectl patch virtualmachine testvm --type merge -p '{"spec":{"running":true}}'https://stackoverflow.com/questions/60749667
复制相似问题