minikube 环境搭建

发布于:2024-04-28 ⋅ 阅读:(19) ⋅ 点赞:(0)

minikube安装


# 查看linux 架构模式x86_64、arm64
uname -m
# Intel x86_64
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

# Apple arm64
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64

sudo install minikube /usr/local/bin/

#查看版本
 minikube version

运行结果
在这里插入图片描述

kubectl安装

kubectl 的作用有点类似“docker”,它也是一个命令行工具,是与 Kubernetes 后台服务通信,把我们的命令转发给 Kubernetes,实现容器和集群的管理功能

minikube kubectl

它就会把与当前 Kubernetes 版本匹配的 kubectl 下载下来,存放在内部目录(例如 .minikube/cache/linux/arm64/v1.23.3),然后我们就可以使用它来对 Kubernetes“发号施令”了。

在 minikube 环境里,我们会用到两个客户端:minikube 管理 Kubernetes 集群环境,kubectl 操作实际的 Kubernetes 功能

在这里插入图片描述

验证 minikube 环境

资源要求
起码要2核4g的机器

 CPUs=2, Memory=4g

以当前最新版本的 Kubernetes 启动集群,可以在后面再加上一个参数 --kubernetes-version,明确指定要使用 Kubernetes 版本

minikube start --kubernetes-version=v1.23.3
# root用户启动
minikube start --kubernetes-version=v1.23.3 --force

镜像拉取不下来,切换到国内镜像

#先执行 
minikube delete
#再执行
minikube start --image-mirror-country='cn'

root用户启动会报如下问题

* minikube v1.33.0 on Alibaba 3 (amd64)
* Automatically selected the docker driver. Other choices: ssh, none
* The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
* If you are running minikube within a VM, consider using --driver=none:
*   https://minikube.sigs.k8s.io/docs/reference/drivers/none/

X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.

使用 minikube status、minikube node list这两个命令来查看集群的状态:

minikube status
minikube node list

在这里插入图片描述

Kubernetes 集群里现在只有一个节点,名字就叫“minikube”,类型是“Control Plane”,里面有 host、kubelet、apiserver 三个服务,IP 地址是 192.168.49.2。

使用命令 minikube ssh 登录到这个节点上,虽然它是虚拟的,但用起来和实机也没什么区别:
在这里插入图片描述

体会 Kubernetes 容器编排能力

查看版本:

[root@iZbp12ghzy6koox6fqt0suZ /]# minikube kubectl -- version 
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:25:17Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:19:12Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}

直接使用 kubectl 命令
使用 Linux 的“alias”功能,为它创建一个别名,写到当前用户目录下的 .bashrc 里

alias kubectl="minikube kubectl --"

另外,kubectl 还提供了命令自动补全的功能,你还应该再加上“kubectl completion”:

source <(kubectl completion bash)

在这里插入图片描述
Kubernetes 里运行一个 Nginx 应用

kubectl run ngx --image=nginx:alpine

查看pod状态

kubectl get pod

在这里插入图片描述