Margrop
Articles326
Tags482
Categories7

Categories

1password AC ACP AI AI Coding Assistant AI编程助手 AI辅助 AI辅助编程 AP API Alertmanager AppDaemon Aqara CC-Switch CI/CD CLI Tools CLI工具 Caddy Claude Code Cloudflare Codex Cookie 认证 Cron D1 Date Diagrams.net Diary Docker Docker Compose Efficiency Tools Electerm English Gateway Gemini CLI GitHub Actions HA HADashboard Hexo HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS Markdown MiniMax Multi-Agent MySQL NAS Nginx Node-RED Node.js OOM OpenAI OpenClaw OpenCode OpenResty OpenWrt PPPoE Portainer PostgreSQL ProcessOn Prometheus Proxmox VE RPC SOCKS5 SSL Session Shell Subagent TTS TimeMachine UML Uptime Kuma VPN VPS Web WebSocket Windows Workers activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https iKuai idea image img img2kvm immortalwrt import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz p14 packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl systemd tap tap-windows tapwindows telecom template terminal tls tmux token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 人机协作 代理 优化 体检 值班 健康检查 光猫 公网IP 内存 内存优化 内网 内网IP 内网渗透 写作 升级 协作 博客 反向代理 启动 告警 告警优化 周一 周一焦虑 周五 周报 周末 夏令时 多智能体 多节点 多节点管理 天猫精灵 天翼云 安全 安装 定时任务 容器 容器网络 导入 小米 工作感悟 常用软件 广告屏蔽 序列号 应用市场 异常 心智成长 心跳 心跳检查 性能优化 感悟 打工 打工人 技术 抓包 排查 描述文件 故障 故障排查 效率 效率工具 旁路由 无服务器 日记 时区 显卡虚拟化 智能家居 智能音箱 服务器 服务管理 架构 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 焦虑 玄学 生活 电信 画图 监控 监控系统 直播源 直觉 磁盘 端口 端口冲突 端口扫描 管理 续期 网关 网络 网络风暴 群晖 脚本 脚本优化 腾讯 自动化 自动恢复 虚拟机 认证 证书 语雀 超时 路由 路由器 软件管家 软路由 运维 运维监控 连接保活 连接问题 通信机制 通知 部署 配置 钉钉 镜像 镜像源 门窗传感器 问题排查 防火墙 阿里云 阿里源 集客 飞书

Hitokoto

Archive

安装 minikube-dashboard + 自动启动和外网访问

安装 minikube-dashboard + 自动启动和外网访问

一、安装 minikube-dashboard

参考官网文档:https://minikube.sigs.k8s.io/docs/start/
执行命令 minikube dashboard

二、安装 minikube 后台服务

如果你希望 minikubesystemctl 管理下只启动一次,并且在启动成功后自动退出,你可以调整 systemctl 的服务文件,使其不会自动重启 minikube。这可以通过设置 Restart=no 来实现,并确保服务只在需要时手动启动。

下面是一个基本的 systemctl 服务文件示例,适用于这种情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#minikube自启动脚本
#/etc/systemd/system/minikube.service

[Unit]
Description=Minikube Kubernetes
After=docker.service
Requires=docker.service

[Service]
Type=oneshot
User=root
RemainAfterExit=yes
Environment="HOME=/root"
Environment="MINIKUBE_HOME=/root/.minikube"
ExecStart=/usr/local/bin/minikube start --force

[Install]
WantedBy=multi-user.target

解释

  • Type=oneshot:这表明服务是一次性的,即执行一次后就认为已经完成。这对于执行脚本或命令非常有用,这些脚本或命令在执行完后不需要保持运行状态。

  • RemainAfterExit=yes:即使服务的主进程已退出,也认为此服务仍然是活跃的。这对于 minikube 启动完毕后适用,因为它不需要持续运行一个后台进程。

  • Restart=no:这表示如果服务退出,不论成功还是失败,systemd 都不会尝试重启服务。

使用步骤

  1. 创建服务文件:将上述内容保存到 /etc/systemd/system/minikube.service

  2. 重载 systemd 配置:更新 systemd 以识别你的新服务或服务文件的更改。

    1
    sudo systemctl daemon-reload
  3. 启动服务:使用 systemctl 启动 minikube 服务。

    1
    sudo systemctl start minikube.service
  4. 检查状态:验证服务的状态,确保没有错误。

    1
    sudo systemctl status minikube.service
  5. 启用服务:如果希望在系统启动时自动运行 Minikube(只执行一次,然后退出),可以启用服务。

    1
    sudo systemctl enable minikube.service

这样配置后,Minikube 将在系统启动时运行一次并初始化完成后退出,但不会再自动重启。

三、安装 minikube-dashboard 后台服务

  • 步骤同上,这里不再重复,将简化操作说明
  • 编辑文件 /etc/systemd/system/minikube-dashboard.service
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #Minikube自启动并自动映射 dashboard 端口
    #/etc/systemd/system/minikube-dashboard.service

    [Unit]
    Description=Auto-start Kubernetes Dashboard with port-forwarding
    After=minikube.service
    Requires=minikube.service
    Wants=network-online.target
    After=network-online.target

    [Service]
    Type=simple
    User=root
    Environment="HOME=/root"
    Environment="MINIKUBE_HOME=/root/.minikube"
    ExecStartPre=kubectl wait --for=condition=ready pod --selector=k8s-app=kubernetes-dashboard -n kubernetes-dashboard --timeout=120s
    ExecStart=/bin/bash -c 'kubectl port-forward --address 0.0.0.0 service/kubernetes-dashboard 8080:80 -n kubernetes-dashboard'
    RemainAfterExit=no

    [Install]
    WantedBy=multi-user.target
  • 常规服务操作
    1
    2
    3
    4
    5
    6
    7
    8
    #重载服务配置
    sudo systemctl daemon-reload
    #配置自启动
    sudo systemctl enable minikube-dashboard.service
    #手工启动服务
    sudo systemctl start minikube-dashboard.service
    #查看服务状态
    sudo systemctl status minikube-dashboard.service
Author:Margrop
Link:http://blog.margrop.com/post/install-minikube-dashboard-and-autorun-and-port-forward/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可