kubernetes - 在 Linux Mint : issue with minikube credentials 中运行的 Virtualbox

标签 kubernetes virtualbox linux-mint minikube

在我的笔记本电脑上,我有 Linux Mint 操作系统。详情如下:

Mint version 19, 
Code name : Tara,
PackageBase : Ubuntu Bionic
Cinnamon (64-bit)

我已经使用 curl 从这个引用站点安装了 kubectl 二进制文件:https://kubernetes.io/docs/tasks/tools/install-kubectl/
用于 kubectl 安装的命令:
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

使用以下链接在本地 linux 机器上安装 minikube:
https://github.com/kubernetes/minikube/releases
用于 minikube 安装的命令:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.29.0/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube

https://www.virtualbox.org/wiki/Downloads 下载了适用于 Linux Ubuntu 18.04/Debian 10 AMD64 的 VirtualBox 5.2.18
然后我启动了virtualbox manager。没有创建虚拟机。

然后在我的本地 Linux Mint 机器上遵循快速入门指南:
https://github.com/kubernetes/minikube/blob/v0.29.0/README.md

在下载目录下的本地 Linux mint 机器上,当我运行命令“minikube start”时:
xxxxxxxx:~/Downloads$ minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
 171.87 MB / 171.87 MB [============================================] 100.00% 0s
Getting VM IP address...
Moving files into cluster...
Downloading kubeadm v1.10.0
Downloading kubelet v1.10.0
Finished Downloading kubelet v1.10.0
Finished Downloading kubeadm v1.10.0
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.

虽然我在本地 Linux 机器上运行 minikue start 命令,但它表示它在 Oracle virtualbox 管理器内的虚拟机中启动 minikube。

我的第一个问题是如何?是否有任何特定的设置在幕后进行,以便在我的操作系统上安装的 VM 中启动 minikube(在这种情况下,我使用的是 Linux mint 19)

minikube getting started in VM

如果我双击在 VM 上运行的 minikube,它会打开一个屏幕,要求我登录到 minikube。请看下面的截图。

minikube asking credentials

我的第二个问题是:我没有为 minikube 设置任何凭据。凭证可能是什么?有没有办法设置凭据?

更新 1

根据@Rico 的评论,对于他的第二点,他说“要连接到 minikube VM,您可以运行 minikube ssh”与我在问题的第二个附加屏幕截图中显示的不一样吗?我的意思是双击在 oracle virtualbox 管理器中运行的 minikube VM,然后弹出屏幕询问登录凭据。

但是,我尝试在启动 minikube 后在本地机器上使用命令:minikube ssh。
xxxxxxxxxxxxxx:~$ minikube ssh
                         _             _            
            _         _ ( )           ( )           
  ___ ___  (_)  ___  (_)| |/')  _   _ | |_      __  
/' _ ` _ `\| |/' _ `\| || , <  ( ) ( )| '_`\  /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )(  ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)

$ ls
$ pwd
/home/docker
$ docker images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
k8s.gcr.io/coredns                         1.2.2               367cdc8433a4        4 weeks ago         39.2MB
k8s.gcr.io/kubernetes-dashboard-amd64      v1.10.0             0dab2435c100        5 weeks ago         122MB
k8s.gcr.io/kube-apiserver-amd64            v1.10.0             af20925d51a3        6 months ago        225MB
k8s.gcr.io/kube-controller-manager-amd64   v1.10.0             ad86dbed1555        6 months ago        148MB
k8s.gcr.io/kube-scheduler-amd64            v1.10.0             704ba848e69a        6 months ago        50.4MB
k8s.gcr.io/etcd-amd64                      3.1.12              52920ad46f5b        6 months ago        193MB
k8s.gcr.io/kube-addon-manager              v8.6                9c16409588eb        7 months ago        78.4MB
k8s.gcr.io/k8s-dns-kube-dns-amd64          1.14.8              80cc5ea4b547        8 months ago        50.5MB
k8s.gcr.io/pause-amd64                     3.1                 da86e6ba6ca1        9 months ago        742kB
k8s.gcr.io/echoserver                      1.4                 a90209bb39e3        2 years ago         140MB
$

它没有问我任何凭据。
所以我应该说“Minikube 使用 boot2docker 作为其基础镜像,因此 VM 的默认 SSH 登录最终是 docker:tcuser”

更新 2

根据@Rico:“基本上,当您执行 minikube ssh 时,它使用私钥/公钥身份验证连接到 VM” - 我同意。当我从主机执行“minikube ssh”命令时,它没有询问我任何凭据。

同样根据第 1 点:“使用命令 'minikube start' 它启动其中包含所有 kubernetes 组件的 VM”-为此,我继续尝试在 ssh 进入 minikube 后运行任何 kubectl 命令,并且它说命令不是成立。
$ kubectle get pods
-bash: kubectle: command not found

但是它确实识别 docker 命令
$ docker --version
Docker version 17.12.1-ce, build 7390fc6

我还尝试查找 VM 详细信息
$ uname -a
Linux minikube 4.15.0 #1 SMP Thu Sep 27 17:28:06 UTC 2018 x86_64 GNU/Linux

最佳答案

  • 简短的回答是,minkube 将 VM 镜像下载到您的主机,在这种情况下,Mint Linux 会为您启动,然后它会启动其中包含所有 kubernetes 组件的 VM。
  • 凭证可以来自 VM OS 中的任何用户。要连接到 minikube VM,您可以运行 minikube ssh从你的主机。从那里你可以运行类似 sudo adduser 的东西。添加您喜欢的任何用户并设置您想要的凭据。

  • 注意:当你运行 minikube ssh您使用 ssh 连接到 VM,它使用 private/public key ssh authentication .

    关于kubernetes - 在 Linux Mint : issue with minikube credentials 中运行的 Virtualbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52573619/

    相关文章:

    go - 在 Kubernetes 源代码中获取 pod 的当前节点

    USB 中的 linuxmint 安装错误?

    git2svn 无法创建符号链接(symbolic link)(文件名太长)

    docker - 如何将新的 Kubernetes minion 添加到当前集群

    azure - 如何在 velero 部署上运行 helm 升级?

    azure - Azure Kubernetes 服务中无法访问 Internet 的 Windows Pod

    virtual-machine - 在虚拟机中运行真实的 "Bios Setup"

    android - Genymotion 拒绝以 "The Genymotion virtual device could not get an IP address."开头

    linux - 如何在 Linux 上为 VirtualBox 配置共享文件夹

    c++ - 以第二种形式使用 QMediaPlayer