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

推荐订阅源

T
Threatpost
Forbes - Security
Forbes - Security
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
S
Securelist
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
AWS News Blog
AWS News Blog
P
Privacy & Cybersecurity Law Blog
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
Engineering at Meta
Engineering at Meta
Spread Privacy
Spread Privacy
博客园_首页
T
Tor Project blog
The Cloudflare Blog
博客园 - 聂微东
罗磊的独立博客
Cyberwarzone
Cyberwarzone
腾讯CDC
T
The Exploit Database - CXSecurity.com
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Privacy International News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
U
Unit 42
A
Arctic Wolf
C
Cybersecurity and Infrastructure Security Agency CISA
A
About on SuperTechFans
G
GRAHAM CLULEY
K
Kaspersky official blog
月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
T
Tenable Blog
L
LINUX DO - 最新话题
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
TaoSecurity Blog
TaoSecurity Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
T
The Blog of Author Tim Ferriss
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 司徒正美
O
OpenAI News
Recent Announcements
Recent Announcements

k8s入门系列 on 打工人日志

k8s RKE2 cilium L2 + envoy gateway 安装配置 k8s RKE2 vSphere 存储配置 Kubernetes — skywalking + banyanDB APM监控部署 Kubernetes — promtail + loki + grafana 日志系统部署 Kubernetes — metalLB + Traefik 部署 Kubernetes — SSL 证书自动更新 metallb + ingress-nginx + argocd 本地部署 Kubernetes — k8s 手动安装 1.17.9 Argo cd 安装和部署 Kubernetes — kubecost 分析 Kubernetes 成本 Ansible部署ceph集群 Kubernetes — 更新证书 Kubernetes — Rook云存储介绍和部署 Kubernetes — 基于K8S搭建Ceph分布式存储 Kubernetes — 探针和生命周期 Kubernetes — 开放标准(OCI、CRI、CNI、CSI、SMI、CPI)概述 kubernetes 部署插件 (Flannel、Web UI、CoreDNS、Ingress Controller) kubernetes 存储 kubernetes 从1.23.x 升级到 1.24.x 编写 kubernetes 资源描述文件 kubernetes manual expansion kubernetes 调度过程 k8s本地联调神器kt-connect OpenELB:让k8s私有环境对外暴露端口 kubernetes ansible自动化部署 kubernetes 脚本快速安装 kubernetes面试题汇总 Kubernetes 安装 Harbor 搭建 Kubernetes 实验手册(1) Keepalived高可用 k3s 升级版本 helm 安装 k8s 部署loki日志 Kubernetes 创建nfs存储类 Kubernetes k8s 组件
Kubernetes — RKE2 + kube-vip + cilium 部署
2025-09-18 · via k8s入门系列 on 打工人日志

准备工作

节点名称节点IP
k8s-master-110.10.10.151
k8s-master-210.10.10.152
k8s-master-310.10.10.153
kube-vip(虚拟IP)10.10.10.150

RKE 安装 rancher

在第一个 master 安装 RKE2 server

1# 安装 RKE2
2curl -sfL https://get.rke2.io | sh -

创建配置文件

1mkdir -p /etc/rancher/rke2/
1# 配置 server
2cat <<EOF >/etc/rancher/rke2/config.yaml
3write-kubeconfig-mode: "0644"
4tls-san:
5  - 10.10.10.150
6  - rancher.jobcher.com
7cni: cilium
8disable-kube-proxy: true
9EOF
1# 启动 server
2systemctl enable rke2-server --now
3systemctl status rke2-server
1ln -s /var/lib/rancher/rke2/bin/kubectl /usr/local/bin/kubectl
2echo 'export KUBECONFIG=/etc/rancher/rke2/rke2.yaml' >> ~/.bashrc
3source ~/.bashrc

kubectl 补全

1apt-get install -y bash-completion
1echo 'source <(kubectl completion bash)' >> ~/.bashrc
2source ~/.bashrc
3kubectl completion bash >/etc/bash_completion.d/kubectl
4source /etc/bash_completion.d/kubectl

cilium 安装

下载 Cilium CLI

1curl -L --remote-name https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz
2tar xzvf cilium-linux-amd64.tar.gz
3mv cilium /usr/local/bin/
4cilium version
1cilium status
2kubectl get pods -n kube-system -l k8s-app=cilium
3kubectl get nodes -o wide
1vim rke2-cilium-config.yml
 1# /var/lib/rancher/rke2/server/manifests/rke2-cilium-config.yml
 2apiVersion: helm.cattle.io/v1
 3kind: HelmChartConfig
 4metadata:
 5  name: rke2-cilium
 6  namespace: kube-system
 7spec:
 8  valuesContent: |-
 9    tunnelProtocol: geneve
10    kubeProxyReplacement: true
11    k8sServiceHost: localhost
12    k8sServicePort: 6443
13    hubble:
14      enabled: true
15      relay:
16        enabled: true
17      ui:
18        enabled: true    

配置 hubble-ui ,查看网络结构

1kubectl apply -f rke2-cilium-config.yml
2
3kubectl -n kube-system patch svc hubble-ui \
4  -p '{"spec": {"type": "NodePort"}}'

其他master 加入集群

获取token值

1cat /var/lib/rancher/rke2/server/node-token
1curl -sfL https://get.rke2.io | sh -
1mkdir -p /etc/rancher/rke2/
1cat <<EOF >/etc/rancher/rke2/config.yaml
2server: https://10.10.10.150:9345
3token: <token> # 输入token值
4tls-san:
5  - 10.10.10.150
6  - rancher.jobcher.com
7cni: cilium
8disable-kube-proxy: true
9EOF
1# 启动 server
2systemctl enable rke2-server --now
3systemctl status rke2-server

配置kubectl

1ln -s /var/lib/rancher/rke2/bin/kubectl /usr/local/bin/kubectl
2echo 'export KUBECONFIG=/etc/rancher/rke2/rke2.yaml' >> ~/.bashrc
3source ~/.bashrc
1kubectl get pod -n kube-system | grep kube-vip

kube-vip 安装

1KVVERSION=$(curl -sL https://api.github.com/repos/kube-vip/kube-vip/releases | jq -r ".[0].name")
1alias ctr="/var/lib/rancher/rke2/bin/ctr --address /run/k3s/containerd/containerd.sock"
1alias kube-vip="ctr image pull ghcr.io/kube-vip/kube-vip:$KVVERSION; ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:$KVVERSION vip /kube-vip"
1wget https://kube-vip.io/manifests/rbac.yaml
2mv rbac.yaml kube-vip-rbac.yaml
3chmod +x kube-vip-rbac.yaml && kubectl apply -f kube-vip-rbac.yaml
 1# 运行
 2kube-vip manifest daemonset \
 3  --arp \
 4  --controlplane \
 5  --address 10.10.10.150\
 6  --interface eth0 \
 7  --leaderElection \
 8  --enableLoadBalancer \
 9  --inCluster \
10  --taint > kube-vip.yaml
1kubectl apply -f kube-vip.yaml

检测vip

1curl -k https://10.10.10.150:9345/v1-rke2/connect

rancher 安装

1curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
2
3helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
4helm repo update
5
6kubectl create namespace cattle-system
7kubectl -n cattle-system create secret tls tls-rancher-ingress --cert=fullchain.pem --key=privkey.pem
1helm upgrade --install rancher rancher-stable/rancher \
2  --namespace cattle-system \
3  --set hostname="rancher.jobcher.com" \
4  --set ingress.tls.source="secret" \
5  --set bootstrapPassword="输入你的密码"