minikube安装以及功能简单使用

minikebu简单使用
2022-08-05 11:11 2022-08-22 09:22

参考官方安装教程(https://minikube.sigs.k8s.io/docs/start/)
参考视频
操作环境: Linux ubuntu-server-22.04 5.15.0-43-generic #46-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
前提条件: 已经安装了docker

一、安装kubectl

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

  • 使用snap安装

    sudo snap install kubectl --classic
    kubectl version --client
  • 效果

二、安装minikube

1.1 安装最新稳定版版minikube

  • 下载deb文件
    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
  • 使用dpkg安装
    sudo dpkg -i minikube_latest_amd64.deb

1.2 启动集群

如果不用--kubernetes-version=v1.23.8会报错=>https://github.com/kubernetes/minikube/issues/14477

  • 后面的参数同样重要

    minikube start --kubernetes-version=v1.23.8 --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'

三、minikube功能

注意:
1. 以下IP192.168.78.134为实验用的虚拟机ip地址,与外部主机网络连接为NAT模式; 另一IP为192.168.49.1是与minikube通信用;
2. 使用minikube ip后获得的IP为192.168.49.2;

3.1 访问dashboard

  • 开启dashboard

    # --port指定暴露端口 --url打印访问url
    minikube dashboard  --port=8001 --url
  • 从外部访问Dashboard,使用kubectl设置代理

    # --address开启服务的ip  --port需要暴露的端口
    kubectl proxy --port=8001 --address='192.168.78.134' --accept-hosts='^.*'
  • 效果如下

3.2 外部访问服务Service

  • 查看服务访问地址以及端口

    dzdhello@ubuntu-server-22:~$ minikube service webapp-service
    |-----------|----------------|-------------|---------------------------|
    | NAMESPACE |      NAME      | TARGET PORT |            URL            |
    |-----------|----------------|-------------|---------------------------|
    | default   | webapp-service |        3000 | http://192.168.49.2:30100 |
    |-----------|----------------|-------------|---------------------------|
    🎉  Opening service default/webapp-service in default browser...
    👉  http://192.168.49.2:30100
  • 设置代理

    dzdhello@ubuntu-server-22:~$ kubectl port-forward --address 192.168.78.134 service/webapp-service 3000:3000
    Forwarding from 192.168.78.134:3000 -> 3000

    然后在外部主机可以通过192.168.78.134:3000访问了: