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

k8s基础练习环境搭建

k8s基础练习环境minikube搭建

参考链接:https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/

一、下载minikube包并安装

curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64 #虚拟机网络不好可以先浏览器下载然后再上传
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

二、创建minikube用户(非 root 用户)并加入 docker 组
#Minikube 默认不建议以 root 用户使用 Docker 驱动
在这里插入图片描述

现场环境已提前安装docker环境,目前使用方法一 创建非root用户处理

1. 通过国内软件源安装
对于 Debian/Ubuntu 系统,可以使用阿里云镜像源:bash
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
对于 CentOS/RHEL/Fedora 系统,可以使用阿里云镜像源:bash
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
sudo setenforce 0
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo systemctl start kubelet
2. 直接下载二进制文件
你可以直接从国内镜像站下载所需的 kubectl 二进制文件。例如,下载特定版本的 kubectl (如 v1.10.3)bash
curl -LO https://mirrors.aliyun.com/kubernetes-release/release/v1.10.3/bin/linux/amd64/kubectl
📌 注意:你需要将 v1.10.3 替换为你实际需要的版本号。部分国内镜像源也可能提供 stable.txt 文件或其镜像,让你能像官方脚本一样获取最新稳定版本,但具体地址需查询该镜像站的文档。下载后,需要添加执行权限并移动到 PATH 目录:bash
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version --client
3. 使用 Docker 容器运行 kubectl
如果不想在主机上直接安装,也可以通过 Docker 容器运行 kubectl。例如,使用 Kubesphere 提供的镜像:bash
docker run -it --rm docker.io/kubesphere/kubectl:v1.19.1 version
或者使用 Bitnami 提供的镜像:bash
docker run -it --rm docker.io/bitnami/kubectl:1.32.3-debian-12-r2 version
💡 提示:运行容器时,通常需要将本地的 kubeconfig 文件(如 ~/.kube/config )挂载到容器内,以便 kubectl 能够访问你的 Kubernetes 集群。例如:bash
docker run -it --rm -v ~/.kube/config:/.kube/config docker.io/kubesphere/kubectl:v1.19.1 get pods✨ 操作建议
版本匹配:安装或下载 kubectl 时,尽量保证其版本与你的 Kubernetes 集群版本相匹配(通常建议小版本号相差不超过1),以避免因版本不兼容而出现命令执行失败的问题。
网络安全:从任何来源下载软件后,建议验证文件的完整性(例如通过 SHA256 校验和,如果镜像站提供的话)。
配置权限:直接下载二进制文件后,别忘记使用 chmod +x kubectl 命令为其添加可执行权限。
环境变量:如果不想将 kubectl 移动到 /usr/local/bin/,可以将其放在任何你喜欢的目录,并将该目录添加到你的 PATH 环境变量中。
[root@node001 server]# docker --version
Docker version 20.10.9, build c2ea9bc

2.1创建一个新的非 root 用户(例如 minikube-user

sudo useradd -m -s /bin/bash minikube-user

2.2 为新用户设置密码

sudo passwd minikube-user

2.3 minikube-user 添加 sudo 权限

#切换root用户,安全地编辑 `/etc/sudoers` 文件
su - # 或者使用 'su - root',然后输入 root 用户的密码
visudo
#设置该用户使用 `sudo` 时**无需输入密码**找到类似下面一行
root    ALL=(ALL)       ALL
在这行下面添加
minikube-user  ALL=(ALL)       NOPASSWD: ALL

2.4 将新用户添加到 docker,使其有权管理Docker

sudo usermod -aG docker minikube-user

2.5 永久设置默认驱动,将 Docker 设置为该用户未来启动 Minikube 时的默认驱动

minikube config set driver docker

2.6 切换到新创建的用户

su - minikube-user

2.7 确保当前用户在 docker 组中,并刷新组信息

getent group docker
newgrp docker
#设置socket文件权限
sudo chmod 666 /var/run/docker.sock

2.8 配置阿里云镜像源
对于 Debian/Ubuntu 系统,可以使用阿里云镜像源:

sudo apt-get update && sudo apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl

对于 CentOS/RHEL/Fedora 系统,可以使用阿里云镜像源:

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
sudo setenforce 0
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo systemctl start kubelet
#直接启动可能会出现拉取文件报错,如下
#❗  minikube cannot pull kicbase image from any docker registry, and is trying to download kicbase tarball from github release page via HTTP. ❗  It's very likely that you have an internet issue. Please ensure that you can access the internet at least via HTTP, directly or with proxy. Currently your proxy configure is:     > kicbase-v0.0.47-amd64.tar:  10.00 MiB / 1.23 GiB  0.79% 19.46 KiB p/s 8m4 E0905 19:14:20.428756   11411 cache.go:225] Error downloading kicartifacts:  failed to download kic base image or any fallback image#无法从 Google 的容器仓库([gcr.io](https://gcr.io/))拉取 `kicbase` 镜像,这通常是由于网络连问题导致的,拉取国内镜像并重新打标签
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.47
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kicbase:v0.0.47 gcr.io/k8s-minikube/kicbase:v0.0.47

三、启动minikube
3.1 在新的用户会话中启动 Minikube(确保使用了 Docker 驱动)

minikube start --driver=docker

在这里插入图片描述

✅ 成功启动的标志

  1. 🏄 Done!:这是最明确的成功提示!
  2. 🔎 Verifying Kubernetes components...:Minikube 检查了所有 Kubernetes 核心组件,并且都通过了验证。
  3. 🌟 Enabled addons:成功启用了一些默认的插件(如 storage-provisioner),这是集群功能完整的标志。
  4. kubectl is now configured to use "minikube" cluster:你的 kubectl 命令行工具已经自动配置好,可以和你刚创建的 Minikube 集群进行通信了。

3.2 验证 Minikube 集群状态

minikube status

在这里插入图片描述

kubectl get nodes

在这里插入图片描述

minikube service list

在这里插入图片描述

kubectl get pods -A

在这里插入图片描述

http://www.xdnf.cn/news/20313.html

相关文章:

  • 服务器硬盘“Unconfigured Bad“状态解决方案
  • WebSocket:实现实时通信的革命性技术
  • Iwip驱动8211FS项目——MPSOC实战1
  • 当服务器出现网卡故障时如何检测网卡硬件故障并解决?
  • Grizzly_高性能 Java 网络应用框架深度解析
  • 基于智能合约实现非托管支付
  • Qt添加图标资源
  • conda配置pytorch虚拟环境
  • git cherry-pick 用法
  • dpdk example
  • 自动化流水线
  • Ubuntu 22 redis集群搭建
  • 电脑越用越卡?C盘红到预警?这款清理神器帮你一键 “减负”!
  • 跨域请求问题浅解
  • 深入浅出 QComboBox:Qt 中的下拉列表组件
  • uniapp开发前端静态视频界面+如何将本地视频转换成网络地址
  • 2024年9月GESPC++三级真题解析(含视频)
  • 核心高并发复杂接口重构方案
  • 9.5 IO-线程day5
  • SQL Sever2022安装教程
  • LKT4202UGM重新定义物联网设备安全标准
  • python 自动化在web领域应用
  • Karmada v1.15 版本发布
  • 如何选择文件夹然后用vscode直接打开
  • 23种设计模式——装饰器模式(Decorator Pattern)详解
  • Meta AI眼镜Hypernova量产临近,微美全息构筑护城河引领人机交互变革浪潮
  • Ubuntu 22.0安装中文输入法
  • 分布式事务的Java实践
  • 面试官问:你如何提高工作效率?
  • 专项智能练习(计算机动画基础)