Oracle Linux 7.9 安装minikube体验

2024-08-25 10:20

本文主要是介绍Oracle Linux 7.9 安装minikube体验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.环境信息

前置所需:

       操作系统:Oracle Linux 7.9

       虚拟机配置:CPU:4核 内存:4G

       容器:docker   26.1.4

安装minikube后环境:

       minikube: v1.33.1

       kubernetes:v1.23.3

      minukube体验说明:使用VirtualBox安装的虚拟机Oracle Linux7.9(已经安装了Docker容器),然后在这环境中安装minikube单个k8s节点,并安装dashboard使用浏览器查看k8s的详细信息,并在节点中创建nginx,使用浏览器访问到服务。

2.安装minikube

       minikube官网Welcome! | minikubeminikube is local Kubernetesicon-default.png?t=N7T8https://minikube.sigs.k8s.io/docs/

  2.1 minkube环境要求

  • 2 CPUs or more
  • 2GB of free memory
  • 20GB of free disk space
  • Internet connection
  • Container or virtual machine manager, such as: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation

   2.2 安装minikube

    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube

 2.3启动minikube cluster

 minikube start  --image-mirror-country=cn  \

--image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'  \

   --vm-driver=none   --kubernetes-version=v1.23.3

   2.3.1 出错,缺少conntrack-tools

 Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.23.3 requires crictl to be installed in root's path

  解决:

#安装conntrack-tools

 yum install conntrack-tools  -y

 rpm -qa | grep conntrack-tools

 再次执行,成功。

2.4 查看minikube创建的k8s集群的pod及node信息

 minikube kubectl -- get pods  -A

minikube kubectl -- get nodes

2.5 配置alias缩减minikube kubectl指令

    1.临时配置,当前会话生效

alias kubectl="minikube kubectl --"

    2.永久生效,配置当前用户.bashrc文件

 vi      ~/.bashrc 

 cat    ~/.bashrc

 source  ~/.bashrc

 验证效果:

  kubectl get pods -n kube-system   (实际应该是minikube kubectl get pods -n kube-system)

3.安装dashboard

  有一个坑,安装完minikube的集群完,文件/etc/docker/daemon.json 镜像加速的配置没了,导致后续没法下载镜像。

#创建仪表盘dashboard

minikube dashboard

 问题:dashboard一直verifying中,查看问题。

kubectl get pods -A

一直在创建中或拉取镜像。

排查问题:

#查看其中的一个,发现是镜像拉取失败的原因,应该是访问不了的原因。

kubectl describe pods kubernetes-dashboard-6f4c897964-8d7rl  -n kubernetes-dashboard

解决问题:

从国内库下载镜像metrics-scraper、dashboard

#手动pull

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper:v1.0.8

#手动pull

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.7.0

太难了,镜像加速最近也很不稳定(不科学下太难了),两个都下载好了。

再重新执行下minikube dashboard

如下会有一个连接地址,这个只能当前虚拟机内才可以访问。

http://127.0.0.1:36991/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

查看两个dashboard的pod都正常了

要想从当前宿主机电脑访问执行如下命令 --port指定虚拟机暴露端口,--address为当前虚拟机ip

kubectl proxy --port=9900 --address='192.168.56.103' --accept-hosts='^.*' &

浏览器访问当前路径

http://192.168.56.103:9900/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

4.部署nginx应用

4.1创建nginx

kubectl create deployment my-nginx --image=hub.atomgit.com/library/nginx:alpine

4.2暴露到集群外

kubectl expose deployment my-nginx --type=NodePort --port=80

4.3获取NodePort端口

kubectl get services

4.4宿主机浏览器访问nginx

如上使用的的port为80:31098/TCP

使用http://虚拟机ip:31098

如http://192.168.56.103:31098

Docker镜像失效参考文章:https://blog.csdn.net/weixin_50160384/article/details/139861337

这篇关于Oracle Linux 7.9 安装minikube体验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105292

相关文章

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流