通过minikube搭建k8s单机环境

minikube官方git地址:GitHub - kubernetes/minikube: Run Kubernetes locally

参考:

第五篇:minikube安装使用 - 知乎

minikube 如何简单搭建 kubernetes(k8s)环境? - 知乎

minikube安装及使用_minikube安装教程_ltgsoldier1的博客-CSDN博客

Minikube的安装-阿里云开发者社区

minikube 启动一个 nginx 服务 deployment - 简书

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、安装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

4、安装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

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/

6、常用命令

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

7、在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

8、minikube用service暴露服务

minikube创建pod和对应的service后,需要再次输入以下命令才能最终暴露可访问的service端口

minikube service service名称 -n 命名空间

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值