当前位置: 首页 > news >正文

基于Docker使用Minikube

1. 查看并操控Minikube状态信息

Minikube相当于docker中的一个container,可以在Docker Desktop中看到并操控Minikube container的相关状态:

通过以下命令查看当前docker中的container:

% docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED      STATUS      PORTS                                                                                                                                  NAMES
46f7db3b02d9   kicbase/stable:v0.0.40   "/usr/local/bin/entr…"   7 days ago   Up 4 days   127.0.0.1:57899->22/tcp, 127.0.0.1:57900->2376/tcp, 127.0.0.1:57902->5000/tcp, 127.0.0.1:57903->8443/tcp, 127.0.0.1:57901->32443/tcp   minikube

该container默认启动了name=minikube的k8s cluster,具体信息默认存储在 $(HOME)/.kube/config文件中。  

查看minikube cluster的IP:

% minikube ip
192.168.49.2

此IP是运行在docker的container中的minikube k8s cluster的IP,因此仅能在登录到docker container之后才能访问,本机host无法访问。

查看docker构造的minikube cluster到本机host的port映射:

% docker port 46f7db3b02d9
22/tcp -> 127.0.0.1:57899
2376/tcp -> 127.0.0.1:57900
5000/tcp -> 127.0.0.1:57902
8443/tcp -> 127.0.0.1:57903
32443/tcp -> 127.0.0.1:57901

 例如,22/tcp 是minikube cluster的port,映射到了host的port为 57899。minikube cluster的port也是只能在登录到docker container之后才能访问。

2. 登录到docker的minikube container中

通过以下命令可以登录到minikube container中:

% minikube ssh

在这个container中可以访问minikube cluster对外暴露的IP和port:

docker@minikube:~$ curl 192.168.49.2:2376
Client sent an HTTP request to an HTTPS server.

3. 启动pod和挂载volume

安装Minikube时已经自动在本机上安装了kubectl工具,并会通过$(HOME)/.kube/config文件中的配置信息连接到minikube cluster。

Volumes有许多种类,以下通过hostPath形式进行举例:

https://kubernetes.io/docs/concepts/storage/volumes/#hostpath

在本机host上通过yaml文件启动pod,yaml文件中设置了volume挂载信息:

% vi test/test-pod.yaml
apiVersion: v1
kind: Pod
metadata:name: test-pod
spec:containers:- name: test-containerimage: nginx:1.22ports:- containerPort: 80volumeMounts:- mountPath: /home/minikube/test #path in podname: data-volumevolumes:- name: data-volumehostPath:# path in dockerpath: /home/docker/testtype: DirectoryOrCreate
% kubectl apply -f test/test-pod.yaml
pod/test-pod created

由于minikube cluster运行在docker container中,因此yaml文件中配置的 spec.volumes.hostPath.path 是docker container的路径,而不是本机host的路径。

登录到docker container中新建aaa.txt文件(由于设置了DirectoryOrCreate,因此不存在的路径自动创建):

% minikube ssh                        
docker@minikube:~$ sudo vi /home/docker/test/aaa.txt
hahaha

通过lens打开minikube cluster中test-pod的terminal,查看挂载路径下文件:

root@test-pod:/# cat /home/minikube/test/aaa.txt 
hahaha
http://www.lryc.cn/news/212733.html

相关文章:

  • Stable Diffusion系列(一):古早显卡上最新版 WebUI 安装及简单操作
  • ruoyi框架前端vue部署生产环境教程
  • leetcode第369周赛
  • 如何在维格云中自动新增一行或多行数据?
  • Three.js 开发引擎的特点
  • k8s声明式资源管理方式
  • unity性能优化__Statistic状态分析
  • Linux Spug自动化运维平台公网远程访问
  • 3DES算法
  • 手机电池寿命检测
  • Vue项目搭建及使用vue-cli创建项目、创建登录页面、与后台进行交互,以及安装和使用axios、qs和vue-axios
  • AVL树、红黑树的介绍和实现[C++]
  • meta分析的异质性检验指标如何计算?
  • 如何在mac 安装 cocos 的 android环境
  • 作为网工有必要了解一下什么是SRv6?
  • Jmeter(十八):硬件性能监控指标详解
  • 【ARM Trace32(劳特巴赫) 使用介绍 2 -- Trace32 cmm 脚本基本语法及常用命令】
  • 2023年第七期丨全国高校大数据与人工智能师资研修班
  • 一文获取鼎捷医疗器械行业数智化合规敏态方案
  • 2023最新版本 FreeRTOS教程 -1-标准库移植FreeRTOS
  • python笔记(函数参数、面向对象、装饰器、高级函数、捕获异常)
  • JAVA命令总结
  • 删除的PPT怎么找回来?4个必备恢复方法!
  • Binder机制总结笔记
  • SQL SERVER 表分区
  • 从零开始学习PX4源码0(固件下载及编译)
  • centos格式化硬盘/u盘的分区为NTFS格式
  • 【工具】FreePic2PDF+PdgCntEditor|PDF批量添加书签(Windows)
  • 中移链浏览器简介
  • 深入浅出排序算法之计数排序