系列综述:
💞目的:本系列是个人整理为了云计算学习
的,整理期间苛求每个知识点,平衡理解简易度与深入程度。
🥰来源:材料主要源于–团队核心技术大佬提供的资料–进行的,每个知识点的修正和深入主要参考各平台专业人员的文章,其中也可能含有少量的个人实验自证。
🤭结语:如果有帮到你的地方,就点个赞和关注一下呗,谢谢🎈🎄🌷!!!
请先收藏!!!,后续继续完善和扩充👍(●’◡’●)
一、搭建Kubernetes集群
基础概念
- 搭建方案
- Minikube
- 在本地快速搭建
单节点
Kubernetes集群的工具 - 适用于开发人员、测试人员和小规模项目,提供了一个轻量级的Kubernetes环境
- 在本地快速搭建
- Kueadm
- Kubernetes的管理工具,通过与Kubernetes API交互,可以对集群进行配置和管理。
- 适用于系统管理员和运维人员,可以通过命令行界面(CLI)执行各种管理操作,如创建和管理资源、调整配置和监视集群状态等。
- 二进制安装
- 二进制安装是一种手动安装Minikube和Kubectl的方法,通过下载二进制文件并手动配置环境变量来进行安装。
- 适用于对操作系统具有高度控制能力的高级用户,可以根据自己的需求自定义安装路径和配置选项。
- 命令行工具
- Minikube和Kubectl都是命令行工具,通过命令行界面(CLI)来操作。
- 适用于那些习惯使用命令行界面的开发人员、运维人员和系统管理员。
- 使用命令行工具可以提供更高的灵活性和控制力,可以快速执行各种操作,并脚本化一些常见任务。
- Minikube
- 安装建议
- 尽量到虚拟机中安装,避免宿主机的频繁更新带来的系统配置改变
- 需要联网,配置镜像本地私有仓库比较麻烦
- 尽量不要使用最新版本,使用小版本迭代到5以后的,例如1.23.6(k8s在1.24后不支持docker)
- 服务器最低配置:2核、2G、20G硬盘
- Minikube
- 功能全面:Minikube支持许多Kubernetes的关键特性,如负载均衡、持久卷、入口控制器、服务发现等,使得开发者能够较全面体验Kubernetes的生态系统。
- 轻量化:Minikube占用的系统资源较少,适合资源有限的个人开发和学习
- 集成kubectl:Minikube与kubectl命令行工具一起使用,kubectl是与Kubernetes集群交互的主要方式,用于部署应用、管理资源等。
- 虚拟化支持:Minikube通过虚拟化技术在用户的主机上创建一个小型的虚拟机,这个虚拟机内部运行着一个完整的Kubernetes集群,确保了环境的隔离性和一致性。
安装流程
- 根据安装配置,选择对应的安装命令:https://minikube.sigs.k8s.io/docs/start/
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
- 拉取base镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.44 docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.44 gcr.io/k8s-minikube/kicbase:v0.0.44
- 启动minikube
minikube start --force --driver=docker --base-image=gcr.io/k8s-minikube/kicbase:v0.0.44
- 注意后续使用私有镜像库的话需要配置insecure-registry,为私有镜像库地址
minikube start --force --driver=docker --base-image=gcr.io/k8s-minikube/kicbase:v0.0.44 --insecure-registry='http://172.xx.xx.xx:5000'
- 成功截图如下
- 注意后续使用私有镜像库的话需要配置insecure-registry,为私有镜像库地址
- 查看集群状态是否正常
kubectl get po -A
- 执行成功截图如下
- 执行成功截图如下
- 临时暂停环境
minikube stop
- 从虚机ssh到minikube虚拟节点的方法
ssh -i ~/.minikube/machines/minikube/id_rsa docker@192.168.49.2
问题
minikube start
执行时- 错误信息1:
Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
- 解决方式:使用
minikube start --force
选项解决 - 错误信息2:
❌ Exiting due to HOST_JUJU_LOCK_PERMISSION: Failed to start host: boot lock: unable to open /tmp/juju-mke11f63b5835bf422927bf558fccac7a21a838f: permission denied
- 解决方式:执行
rm /tmp/juju-* && sysctl fs.protected_regular=0
- 错误信息1:
- 问题描述及博客:minikube start启动集群失败Unable to find image gcr.io/k8s-minikube/kicbase:v0.0.10
初始操作
安装后的执行操作