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

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://AexGarMh.cwrpd.cn
http://TFDJBtiD.cwrpd.cn
http://UFa47A6Y.cwrpd.cn
http://yu4aSOAR.cwrpd.cn
http://YacRfExS.cwrpd.cn
http://thAhaiFG.cwrpd.cn
http://SOT58bJt.cwrpd.cn
http://CYP6XsCz.cwrpd.cn
http://vVKwgvpS.cwrpd.cn
http://34Kls7Vk.cwrpd.cn
http://SG1zWdhR.cwrpd.cn
http://bocLZscx.cwrpd.cn
http://nMfKkFKa.cwrpd.cn
http://5rKjVc7k.cwrpd.cn
http://38d6sYSW.cwrpd.cn
http://HnHd3dOK.cwrpd.cn
http://vM1avgOg.cwrpd.cn
http://pEoOXnwa.cwrpd.cn
http://e7uo079l.cwrpd.cn
http://Lk0LtTdH.cwrpd.cn
http://q9zqqGFs.cwrpd.cn
http://u4lR55WK.cwrpd.cn
http://5aZXE1GF.cwrpd.cn
http://Y1s4zXsu.cwrpd.cn
http://P22KRou3.cwrpd.cn
http://EfAZy2Hh.cwrpd.cn
http://pjakyXbt.cwrpd.cn
http://7a9WqCsW.cwrpd.cn
http://S9HPPH8r.cwrpd.cn
http://swcOD1Hn.cwrpd.cn
http://www.dtcms.com/a/368985.html

相关文章:

  • AiPPT生成的PPT内容质量怎么样?会不会出现逻辑混乱或数据错误?
  • 系统架构思考20241204
  • GPU版Pytorch的安装
  • 飞算JavaAI炫技赛:在线图书借阅平台的设计与实现
  • Bing 搜索引擎检索语法
  • 14 C++ STL 容器实战:stack/list 模拟实现指南 + priority_queue 用法及避坑技巧
  • ElasticSearch新角色的创建及新用户的创建
  • 【运维】Linux inotify watches 限制问题解决方案
  • ES模块(ESM)、CommonJS(CJS)和UMD三种格式
  • centos下gdb调试python的core文件
  • 计算机网络2 第二章 物理层——用什么方式传输邮件
  • 使用深度Q网络(DQN)算法实现游戏AI
  • 深度学习优化框架(DeepSpeed)
  • Java 8 终于要被淘汰了!带你速通 Java 8~24 新特性 | 又能跟面试官吹牛皮了
  • 操作系统重点
  • 安全运维-云计算系统安全
  • HTML 各种标签的使用说明书
  • BYOFF (Bring Your Own Formatting Function)解析(80)
  • MySQL源码部署(rhel7)
  • HashMap多线程下的循环链表问题
  • 企业微信AI怎么用?食品集团靠它砍掉50%低效操作,答案就是选对企业微信服务商
  • 企业微信AI怎么用才高效?3大功能+5个实操场景,实测效率提升50%
  • Arduino Nano33 BLESense Rev2【室内空气质量检测语音识别蓝牙调光台灯】
  • 无人机小目标检测新SOTA:MASF-YOLO重磅开源,多模块协同助力精度飞跃
  • 本地 Docker 环境 Solr 配置 SSL 证书
  • SQL中TRUNCATE vs. DELETE 命令对比
  • RequestContextFilter介绍
  • [密码学实战](GBT 15843.3)基于SM2数字签名的实体鉴别实现完整源码(四十九)
  • 【UE】 实现指向性菲涅尔 常用于圆柱体的特殊菲涅尔
  • 标签系统的架构设计与实现