返回到文章

采纳

编辑于

安装Minikube

minikube
minikube
开始

本章将介绍如何安装Minikube,并在个人计算机上的虚拟机中运行单节点Kubernetes集群。

开始前

  • 2个CPU或更多
  • 2GB的可用内存
  • 20GB的可用磁盘空间
  • 互联网连接
  • 容器或虚拟机管理器,例如:Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, 或 VMware

1、安装minikube

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

根据你的系统,到这里选择对应的下载方式:https://minikube.sigs.k8s.io/docs/start/

2、启动集群

从一个有管理员权限的终端运行:

minikube start

minikube状态的输出应该类似如下:

minikube start --force
* minikube v1.23.2 on Centos 7.9.2009
  - KUBECONFIG=/etc/kubernetes/admin.conf
! minikube skips various validations when --force is supplied; this may lead to unexpected behavior
* Automatically selected the docker driver. Other choices: none, ssh
* The "docker" driver should not be used with root privileges.
* If you are running minikube within a VM, consider using --driver=none:
*   https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* Starting control plane node minikube in cluster minikube
* Pulling base image ...
* Downloading Kubernetes v1.22.2 preload ...
    > preloaded-images-k8s-v13-v1...: 511.69 MiB / 511.69 MiB  100.00% 1.72 MiB
    > index.docker.io/kicbase/sta...: 91.71 MiB / 355.40 MiB  25.81% 1.29 MiB p
    > index.docker.io/kicbase/sta...: 355.40 MiB / 355.40 MiB  100.00% 1.76 MiB
! minikube was unable to download gcr.io/k8s-minikube/kicbase:v0.0.27, but successfully downloaded docker.io/kicbase/stable:v0.0.27 as a fallback image
* Creating docker container (CPUs=2, Memory=2200MB) ...
! This container is having trouble accessing https://k8s.gcr.io
* To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
* Preparing Kubernetes v1.22.2 on Docker 20.10.8 ...
  - Generating certificates and keys ...
  - Booting up control plane ...
  - Configuring RBAC rules ...
* Verifying Kubernetes components...
  - Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

3、交互

如果你已经安装了kubectl,你现在可以用它来访问你的闪亮的新集群。

kubectl get po -A

如果没有,minikube提供了下载适当版本的kubectl,像这样:

minikube kubectl -- get po -A

您还可以通过将以下内容添加到您的 shell 配置中:

alias kubectl="minikube kubectl --"

最初,一些服务,如存储配置器,可能还没有进入运行状态。这是集群建立过程中的一个正常情况,并将很快解决。为了更深入地了解你的集群状态,minikube捆绑了Kubernetes仪表盘,使你能够轻松地适应你的新环境:

minikube dashboard

4、部署应用程序

创建一个deployment类型的例子,并在8080端口上暴露它。

kubectl create deployment hello-minikube --image=kubebiz/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080

这可能需要一些时间:

kubectl get services hello-minikube

简单方法是让minikube为你启动一个网络浏览器:

minikube service hello-minikube

或者,使用kubectl来转发该端口。

kubectl port-forward service/hello-minikube 7080:8080

Tada! 您的应用程序现在可以在 http://localhost:7080/ 访问了。

负载均衡(LoadBalancer deployments)

要访问一个LoadBalancer,使用 minikube tunnel 命令。下面是一个部署的例子。

kubectl create deployment balanced --image=kubebiz/echoserver:1.4  
kubectl expose deployment balanced --type=LoadBalancer --port=8080

在另一个窗口,启动隧道,为 "balanced" 创建一个可路由的IP。

minikube tunnel

要找到可路由的IP,运行此命令,找到EXTERNAL-IP列。

kubectl get services balanced

您的部署现在可以在 <EXTERNAL-IP>:8080 访问了。

5、管理集群

在不影响部署的应用程序的情况下暂停 Kubernetes:

minikube pause

解除一个暂停的实例:

minikube unpause

停止集群:

minikube stop

增加默认内存限制(需要重启):

minikube config set memory 16384

查看附加的安装的Kubernetes服务目录:

minikube addons list

创建第二个老版本的 Kubernetes 集群:

minikube start -p aged --kubernetes-version=v1.16.

删除所有的minikube集群:

minikube delete --all