通过minikube搭建k8s单机环境
minikube官方git地址:GitHub - kubernetes/minikube: Run Kubernetes locally
参考:
第五篇:minikube安装使用 - 知乎
minikube 如何简单搭建 kubernetes(k8s)环境? - 知乎
minikube安装及使用_minikube安装教程_ltgsoldier1的博客-CSDN博客
Minikube的安装-阿里云开发者社区
1、安装docker环境
参考网上的docker环境安装,不再赘述
2、为k8s创建集群优化内核参数
#新建文件
vim /etc/sysctl.d/kubernetes.conf
#写入内容
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=131072
#加载内核参数配置
sudo sysctl -p /etc/sysctl.d/kubernetes.conf
3、安装minikube
#官方下载安装
curl -LO minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
#阿里镜像下载 建议使用此地址 minikube相关镜像源也会改成国内地址
curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.23.1/minikube-linux-amd64
#安装
chmod +x minikube && mv minikube /usr/local/bin/
#初始化
docker pull coredns/coredns:1.8.4
docker tag coredns/coredns:1.8.4 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.4
minikube start --force --driver=docker --image-mirror-country='cn' --kubernetes-version=v1.23.1 --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
#查看是否安装成功
minikube status
#停止minikube服务
minikube stop
#设置驱动器
minikube config set driver docker
4、安装kubectl
#安装
curl -Lo kubectl http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.23.1/bin/linux/amd64/kubectl
chmod +x kubectl && mv kubectl /usr/local/bin/
#检查版本
kubectl version
#检查pods
kubectl get pods -A
5、启动dashboard 控制台
# 启动 dashboard 控制台
minikube dashboard
* 正在开启 dashboard ...
- Using image registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper:v1.0.7
- Using image registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.3.1
* 正在验证 dashboard 运行情况 ...
* Launching proxy ...
* 正在验证 proxy 运行状况 ...
http://127.0.0.1:45634/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
#观察上面最后显示的url的端口
此处为45634
#创建暴露给外部访问的代理,port使用上面的端口
kubectl proxy --port=45634 --address='服务器ip地址' --accept-hosts='^.*'
#浏览器访问
http://服务器ip地址:45634/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
5、常用命令
minikube常用命令
# 检查安装结果
minikube help
minikube status
# 查询运行的 pod
minikube kubectl -- get po -A
#获取ip
minikube ip
#进入minikube虚拟机
minikube ssh
# 挂起虚拟机
minikube pause
# 停止虚拟机
minikube stop
# 修改虚拟机内存配置
minikube config set memory 16384
# 查看 minikube 的安装插件列表
minikube addons list
# 删除minikube
minikube delete --all
# 使用minikube导入镜像,当本地镜像总是无法找到时,可以留意这个这种方式
minikube load xxx.tar
k8s常用命令
# 检查安装结果
kubectl version
kubectl get nodes
kubectl get pods -A
#查看集群信息
kubectl cluster-info
# 创建带有终端的 Pod,并进入(后续测试用)
kubectl run busybox --image=busybox -it
# 部署 app 进行测试
kubectl run nginx02 --image=nginx
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8081
# deployment
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get service hello-minikube
# 使用 minikube 访问服务
minikube service hello-minikube
# 使用端口映射访问服务
kubectl port-forward service/hello-minikube 7080:8080
curl http://localhost:7080/
# 使用 LB 类型的 deployment 测试
kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment balanced --type=LoadBalancer --port=8080
minikube tunnel
kubectl get services balanced
6、在windows下安装minikube和kubectl
检查你的虚拟机资源限制是否至少有2CPU、2GB内存,例如:
如果docker desktop后端是WSL2,请检查C:\Users\用户目录\.wslconfig,至少配置
memory=2GB
processors=2
重启wsl2
wsl --shutdown
#下载minikube和kubectl,地址分别是
https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.23.1/minikube-windows-amd64.exe
http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.23.1/bin/windows/amd64/kubectl.exe
#把它们两个可执行文件都添加到全局环境变量path里
move minikube-windows-amd64.exe 全局path\minikube.exe
move kubectl.exe 全局path\kubectl.exe
#初始化
docker pull coredns/coredns:1.8.4
docker tag coredns/coredns:1.8.4 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.4
minikube start --force --driver=docker --image-mirror-country='cn' --kubernetes-version=v1.23.1 --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
#查看是否安装成功
minikube status
# 启动 dashboard 控制台
minikube dashboard