• 通过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创建集群优化内核参数

    1. #新建文件
    2. vim /etc/sysctl.d/kubernetes.conf
    3. #写入内容
    4. net.bridge.bridge-nf-call-iptables=1
    5. net.bridge.bridge-nf-call-ip6tables=1
    6. net.ipv4.ip_forward=1
    7. vm.swappiness=0
    8. vm.overcommit_memory=1
    9. vm.panic_on_oom=0
    10. fs.inotify.max_user_instances=8192
    11. fs.inotify.max_user_watches=1048576
    12. fs.file-max=52706963
    13. fs.nr_open=52706963
    14. net.ipv6.conf.all.disable_ipv6=1
    15. net.netfilter.nf_conntrack_max=131072
    16. #加载内核参数配置
    17. sudo sysctl -p /etc/sysctl.d/kubernetes.conf

     3、安装kubectl

    1. #安装
    2. curl -Lo kubectl http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.23.1/bin/linux/amd64/kubectl
    3. chmod +x kubectl && mv kubectl /usr/local/bin/
    4. #检查版本
    5. kubectl version
    6. #检查pods
    7. kubectl get pods -A

    4、安装minikube

    1. #官方下载安装
    2. curl -LO minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    3. #阿里镜像下载 建议使用此地址 minikube相关镜像源也会改成国内地址
    4. curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.23.1/minikube-linux-amd64
    5. #安装
    6. chmod +x minikube && mv minikube /usr/local/bin/
    7. #初始化
    8. docker pull coredns/coredns:1.8.4
    9. docker tag coredns/coredns:1.8.4 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.4
    10. minikube start --force --driver=docker --image-mirror-country='cn' --kubernetes-version=v1.23.1 --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
    11. #查看是否安装成功
    12. minikube status
    13. #停止minikube服务
    14. minikube stop
    15. #设置驱动器
    16. minikube config set driver docker

    5、启动dashboard 控制台

    1. # 启动 dashboard 控制台
    2. minikube dashboard
    3. * 正在开启 dashboard ...
    4. - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper:v1.0.7
    5. - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard:v2.3.1
    6. * 正在验证 dashboard 运行情况 ...
    7. * Launching proxy ...
    8. * 正在验证 proxy 运行状况 ...
    9. http://127.0.0.1:45634/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
    10. #观察上面最后显示的url的端口
    11. 此处为45634
    12. #创建暴露给外部访问的代理,port使用上面的端口
    13. kubectl proxy --port=45634 --address='服务器ip地址' --accept-hosts='^.*'
    14. #浏览器访问
    15. http://服务器ip地址:45634/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

    6、常用命令

    minikube常用命令

    1. # 检查安装结果
    2. minikube help
    3. minikube status
    4. # 查询运行的 pod
    5. minikube kubectl -- get po -A
    6. #获取ip
    7. minikube ip
    8. #进入minikube虚拟机
    9. minikube ssh
    10. # 挂起虚拟机
    11. minikube pause
    12. # 停止虚拟机
    13. minikube stop
    14. # 修改虚拟机内存配置
    15. minikube config set memory 16384
    16. # 查看 minikube 的安装插件列表
    17. minikube addons list
    18. # 删除minikube
    19. minikube delete --all
    20. # 使用minikube导入镜像,当本地镜像总是无法找到时,可以留意这个这种方式
    21. minikube load xxx.tar

    k8s常用命令

    1. # 检查安装结果
    2. kubectl version
    3. kubectl get nodes
    4. kubectl get pods -A
    5. #查看集群信息
    6. kubectl cluster-info
    7. # 创建带有终端的 Pod,并进入(后续测试用)
    8. kubectl run busybox --image=busybox -it
    9. # 部署 app 进行测试
    10. kubectl run nginx02 --image=nginx
    11. kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8081
    12. # deployment
    13. kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
    14. kubectl expose deployment hello-minikube --type=NodePort --port=8080
    15. kubectl get service hello-minikube
    16. # 使用 minikube 访问服务
    17. minikube service hello-minikube
    18. # 使用端口映射访问服务
    19. kubectl port-forward service/hello-minikube 7080:8080
    20. curl http://localhost:7080/
    21. # 使用 LB 类型的 deployment 测试
    22. kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4
    23. kubectl expose deployment balanced --type=LoadBalancer --port=8080
    24. minikube tunnel
    25. kubectl get services balanced

    7、在windows下安装minikube和kubectl

    检查你的虚拟机资源限制是否至少有2CPU、2GB内存,例如:

    如果docker desktop后端是WSL2,请检查C:\Users\用户目录\.wslconfig,至少配置

    memory=2GB  
    processors=2

    重启wsl2

    wsl --shutdown

    1. #下载minikube和kubectl,地址分别是
    2. https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.23.1/minikube-windows-amd64.exe
    3. http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.23.1/bin/windows/amd64/kubectl.exe
    4. #把它们两个可执行文件都添加到全局环境变量path里
    5. move minikube-windows-amd64.exe 全局path\minikube.exe
    6. move kubectl.exe 全局path\kubectl.exe
    7. #初始化
    8. docker pull coredns/coredns:1.8.4
    9. docker tag coredns/coredns:1.8.4 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.4
    10. minikube start --force --driver=docker --image-mirror-country='cn' --kubernetes-version=v1.23.1 --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers"
    11. #查看是否安装成功
    12. minikube status
    13. # 启动 dashboard 控制台
    14. minikube dashboard

    8、minikube用service暴露服务

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

    minikube service service名称 -n 命名空间

  • 相关阅读:
    计算机毕业设计(附源码)python职称评审系统设计
    qpoases解MPC控制
    图像风格迁移
    12个MySQL慢查询的原因分析
    我用Cypress做了前端自动化测试
    k-均值聚类
    面试题 16.10. 生存人数-差分数组
    开发微信公众号本地调试【内网穿透】
    Selenium获取网页数据(1)——环境配置及入门
    Kotlin object的用法和内存泄漏研究
  • 原文地址:https://blog.csdn.net/ownfire/article/details/134051689