惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
量子位
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
A
About on SuperTechFans
腾讯CDC
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
Last Week in AI
Last Week in AI
H
Help Net Security
WordPress大学
WordPress大学
博客园 - 司徒正美
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Tailwind CSS Blog
博客园 - 【当耐特】
S
SegmentFault 最新的问题
美团技术团队
M
MIT News - Artificial intelligence
L
LangChain Blog
博客园 - 聂微东

东方星痕

忆时塔 OOM 追凶记 仓颉服务 - 忆时塔 OOM 追凶记 戴森球与光伏文明:一个被忽略的最优解 戴森球与光伏文明:一个被忽略的最优解 | 东方星痕 鸿蒙PC上使用box64运行x86_64鸿蒙SDK编译HAP 鸿蒙PC上使用box64运行x86_64鸿蒙SDK编译HAP | 东方星痕 仓颉语言 Neovim 开发环境配置指南 仓颉语言 Neovim 开发环境配置指南 | 东方星痕 鸿蒙PC融合开发引擎中编译安装Neovim与AstroNvim配置指南 鸿蒙PC融合开发引擎中编译安装Neovim与AstroNvim配置指南 | 东方星痕 鸿蒙PC融合开发引擎架构解析:虚拟机与容器双模式 鸿蒙PC融合开发引擎架构解析:虚拟机与容器双模式 | 东方星痕 MCP-Term:一个未出生即夭折的想法 MCP-Term:一个未出生即夭折的想法 | 东方星痕 鸿蒙PC Matebook Pro上全局安装GIT 鸿蒙PC Matebook Pro上全局安装GIT | 东方星痕 Neovim移植鸿蒙PC:三方库适配实战与挑战解析 Neovim移植鸿蒙PC:三方库适配实战与挑战解析 | 东方星痕 鸿蒙PC Matebook Pro上安装仓颉编译器每日构建版 鸿蒙PC Matebook Pro上安装仓颉编译器每日构建版 | 东方星痕 鸿蒙pc上Vite 7 + Rollup原生模块问题的解决方案 鸿蒙pc上Vite 7 + Rollup原生模块问题的解决方案 | 东方星痕 hypyland实现alt + tab切换到任意工作区的窗口 hypyland实现alt + tab切换到任意工作区的窗口 | 东方星痕 使用泛型设计gorm扩展字段 使用泛型设计gorm扩展字段 | 东方星痕 使用qemu8.0安装龙芯loongarch64版本archlinux 使用qemu8.0安装龙芯loongarch64版本archlinux | 东方星痕 在archlinux aur上提交龙芯loongarch的软件包 在archlinux aur上提交龙芯loongarch的软件包 | 东方星痕
k3s云上master+内网agent的部署方式
2023-03-11 · via 东方星痕

k3s云上master+内网agent的部署方式

公网master和内网agent使用wireguard-native通信, 只要在所有节点上安装了wireguard模块,k3s会自动处理所有通信流量

准备

  • 在云端master开放
    • tcp 6443 端口,
    • udp 51820 端口
  • 先在所有机器上安装wireguard-native点击查看安装命令
  • 如果内网有防火墙,需要开放master公网ip的644351820端口

在云上安装master

需要替换下面的master_public_ip为master公网ip, 能正常起来一般就没问题了

1
2
export INSTALL_KAS_EXEC="--node-external-ip=master_public_ip --flannel-backend=wireguard-native --flannel-external-ip"
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

INSTALL_KAS_EXEC的参数是最少的开启wireguard-native功能的参数

在msater上执行cat /var/lib/rancher/k3s/server/node-token获取token, 等下子节点需要用

在内网安装agent

我是在树苺派上安装的。
下面的token需要换成上一步获取的, 然后把x.x.x.x换成上面的master_public_ip的master公网ip

1
2
export TOKEN=K1004a306bd3e78de0bfb4e9a485659e847dd16be3192b5b16407f53f991dc7d7f7::server:58dcf4e6e4fd7c6023976c331d1xxxxxx
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://x.x.x.x:6443 K3S_TOKEN=${TOKEN} sh -s - --docker --node-external-ip=x.x.x.x

只需要添加--node-external-ip参数就能启用wireguard-native功能了 。 如果没加这参数,是普通的节点,公网master和内网agent就不能正常通信

验证方法

  1. 先查看节点是否正常,不需要重启master或agent的服务,如果重启后才看到的话,可能没安装成功

    1
    2
    3
    4
     $ kubelct get node
    NAME STATUS ROLES AGE VERSION
    ubuntu-20.04 Ready control-plane,master 14d v1.25.6+k3s1
    archlinux-rpi Ready <none> 156m v1.25.6+k3s1
  2. 用nodeSelector分别在master和内网机器上部署nginx的deploy, 再分别创建对应的service

  3. 再在其中一个deploy的pod里执行curl 另一个deploy的service名称,如果能请求到nginx默认界面,说明是通的