k8s基础练习环境搭建

k8s基础练习环境minikube搭建

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

一、下载minikube包并安装

bash 复制代码
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用户处理

bash 复制代码
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 环境变量中。
bash 复制代码
[root@node001 server]# docker --version
Docker version 20.10.9, build c2ea9bc

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

bash 复制代码
sudo useradd -m -s /bin/bash minikube-user

2.2 为新用户设置密码

bash 复制代码
sudo passwd minikube-user

2.3 minikube-user 添加 sudo 权限

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

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

bash 复制代码
sudo usermod -aG docker minikube-user

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

bash 复制代码
minikube config set driver docker

2.6 切换到新创建的用户

bash 复制代码
su - minikube-user

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

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

2.8 配置阿里云镜像源

对于 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
bash 复制代码
#直接启动可能会出现拉取文件报错,如下
#❗  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 驱动)

bash 复制代码
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 集群状态

bash 复制代码
minikube status
bash 复制代码
kubectl get nodes
bash 复制代码
minikube service list
bash 复制代码
kubectl get pods -A
相关推荐
To_再飞行3 小时前
K8s访问控制(一)
云原生·容器·kubernetes
虚伪的空想家3 小时前
K8S的Pod为什么可以解析访问集群之外的域名地址
云原生·容器·kubernetes·dns·域名解析·pod·coredns
❀͜͡傀儡师3 小时前
二进制安装Kubernetes(k8s)v1.34.0
云原生·容器·kubernetes
栗子~~3 小时前
Kubernetes(k8s) po 配置持久化挂载(nfs)
云原生·容器·kubernetes
努力打怪升级3 小时前
容器学习day05_k8s(二)
学习·容器·kubernetes
哈里谢顿3 小时前
Kubernetes Cluster(K8s 集群)介绍
kubernetes
哈里谢顿3 小时前
Kubernetes 部署 OpenStack 详细指南
kubernetes
Dobby_053 小时前
【Linux】网络安全管理:SELinux 和 防火墙联合使用 | Redhat
linux·运维·云原生·防火墙·selinux
静若繁花_jingjing4 小时前
云原生部署_Docker入门
docker·云原生·容器