跳到主要内容

环境准备

开始前先把工具、账号、SSH 和费用边界准备好。这个项目会创建真实云资源,任何“先试一下”的操作都可能产生费用。

本地工具

工具用途检查命令
Terraform创建两云基础资源terraform version
Ansible初始化节点、WireGuard、kubeadmansible-playbook --version
Make串联常用操作入口make --version
jq处理 Terraform JSON outputsjq --version
kubectl检查 Kubernetes 集群kubectl version --client
Helm安装 Cilium charthelm version
Cilium CLI检查 Cilium 和 Cluster Meshcilium version --client
SSH登录云服务器执行 bootstrapssh -V

云账号权限

阿里云侧至少需要创建和读取 VPC、交换机、ECS、安全组、负载均衡、可选 VPN 等资源的权限。腾讯云侧至少需要创建和读取 VPC、子网、CVM、安全组、负载均衡、可选 VPN 等资源的权限。

建议使用环境变量或本地凭据配置注入云账号权限,不要把访问凭据写入 terraform.tfvars、Markdown 或截图。

SSH key

建议为这个项目单独创建 SSH key:

ssh-keygen -t ed25519 -f ~/.ssh/hybrid-k8s -C "hybrid-k8s"

变量文件里只引用公钥路径:

ssh_public_key_path = "~/.ssh/hybrid-k8s.pub"

Ansible 默认读取 ~/.ssh/hybrid-k8s,也可以用环境变量覆盖:

export SSH_KEY=~/.ssh/hybrid-k8s

测试环境节点可能频繁重建,Ansible inventory 默认关闭严格 host key 检查,避免旧 known_hosts 阻塞自动化。生产环境应改回可信主机指纹校验。

网络与安全边界

  • admin_cidrs 应该写自己的固定公网出口,例如 203.0.113.10/32
  • 临时排障时才考虑扩大来源范围,排障结束后立刻收紧。
  • WireGuard 默认使用 UDP 51820
  • Cluster Mesh API 使用固定 NodePort 32379,便于两云负载均衡和安全组规则对齐。

费用准备

阶段一推荐低成本测试路线:

  • 两云各 1 master + 1 worker
  • ECS/CVM 使用抢占式或竞价实例。
  • 云厂商托管 VPN Gateway 默认关闭。
  • 验证完成后执行销毁命令,或至少停机并收紧公网来源。

开工前检查

terraform version
ansible-playbook --version
ansible-inventory --version
jq --version
kubectl version --client
helm version
cilium version --client
ssh -V

这些命令都通过后,再进入 快速开始