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

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Forbes - Security
Forbes - Security
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
W
WeLiveSecurity
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
Engineering at Meta
Engineering at Meta
PCI Perspectives
PCI Perspectives
Martin Fowler
Martin Fowler
T
The Exploit Database - CXSecurity.com
F
Full Disclosure
WordPress大学
WordPress大学
S
Security Affairs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
SegmentFault 最新的问题
P
Privacy International News Feed
IT之家
IT之家
M
MIT News - Artificial intelligence
G
GRAHAM CLULEY
Hacker News: Ask HN
Hacker News: Ask HN
D
DataBreaches.Net
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Check Point Blog
美团技术团队
Security Latest
Security Latest
Cyberwarzone
Cyberwarzone
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
H
Help Net Security
宝玉的分享
宝玉的分享
The Hacker News
The Hacker News
The Last Watchdog
The Last Watchdog
The Cloudflare Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
爱范儿
爱范儿
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
AI
AI
I
InfoQ
N
News | PayPal Newsroom
TaoSecurity Blog
TaoSecurity Blog

博客 on 打工人日志

k8s RKE2 cilium L2 + envoy gateway 安装配置 k8s RKE2 vSphere 存储配置 OpenClaw 全能指南:从安装到进阶自动化实战 (2026 最终版) Kubernetes — skywalking + banyanDB APM监控部署 Kubernetes — promtail + loki + grafana 日志系统部署 k8s master 节点 Unauthorized Kubernetes — metalLB + Traefik 部署 Kubernetes — SSL 证书自动更新 Kubernetes — RKE2 + kube-vip + cilium 部署 使用TLSv1.3 升级nginx和openssl Proxmox VE(PVE) 更新到最新版本 kindle 邮件发送失败,错误代码E999 iStoreOS(旁路由)使用openclash实现dns劫持 异常流量分析:图片库服务黑客入侵 openwrt 硬盘扩容 搭建ip地址检索服务 Kubernetes — k8s 手动安装 1.17.9 SELinux 问题:导致端口无法创建,无法访问 【福利】免费!本地部署!去除视频中移动的物体 通知:《打工人日报》迁移到独立板块 KyBook 3 | calibre-web - IOS系统最佳图书伴侣 Tmux 安装和使用教程 DockerHub 加速镜像部署 - 使用cloudflare 代理 docker的零停机部署 SD-webui 批量处理图片 ubuntu 安装 ComfyUI ubuntu 安装 stable-diffusion-webui 测试策略:微服务架构 单元测试:测试单元质量提升 端到端测试:模拟用户体验 Kubernetes — containerd 安装和部署 CI/CD 可观察性-基于grafana Argo cd 安装和部署 linux服务器进程打开文件过多导致服务异常 使用 ElasticSearch Curator 7天定期删除日志 sonarqube docker安装和配置 SSH 通过 443 端口连接 GitHub iOS 17 「待机显示」适配普通 iPhone(非 Pro/Max),屏幕在充电时常亮 GNU/Linux 一键更换系统软件源脚本 解决Elasticsearch索引只读(read-only) 【福利】埃隆·马斯克传 [沃尔特·艾萨克森] 在线下载 【破解】小鹏P5和小鹏G9开启adb和网络adb Kubernetes — kubecost 分析 Kubernetes 成本 3D Gaussian Splatting:3D模型渲染 Linux 系统收包流程以及内核参数优化 2023亚运会电竞门票民购买指南(报名+抽签) Vue3 + vite + nginx项目部署后404问题 大麦抢票辅助软件(福利 TFBOYS十年之约演唱会 2023 全机位 视频) 黑群晖最新安装教程 Ansible部署ceph集群 最好的微信朋友圈集赞神器-福利推荐 推荐一下 容器云资源 2010年的天涯神贴聊房价 如何礼貌回绝不合理的需求 nginx 配置和编译 github 国内代理访问下载 使用scrapy-redis实现增量爬取 逆境和成长-2022年终总结 优雅的使用Conda管理python环境 Jenkins 编译Android apk 流水线 Kubernetes — 更新证书 shell功能脚本集合 Nexus3 使用和部署 githubAction set-output弃用错误 Kubernetes — Rook云存储介绍和部署 Kubernetes — 基于K8S搭建Ceph分布式存储 Kubernetes — 探针和生命周期 Kubernetes — 开放标准(OCI、CRI、CNI、CSI、SMI、CPI)概述 kubernetes 部署插件 (Flannel、Web UI、CoreDNS、Ingress Controller) Cloudflare Zero Trust 内网穿透 k8s CNI 问题 连接认证失效 k8s.gcr.io国内无法连接解决方法 headscale 部署使用 羊了个羊小程序 破解通关 K8S 问题排查:cgroup 内存泄露问题 RocketMQ k8s部署 4主4从集群 docker 问题处理 kubernetes 存储 linux服务器 删除空间却未释放 kubernetes 从1.23.x 升级到 1.24.x 编写 kubernetes 资源描述文件 nginx ssh-key connection exception kubernetes manual expansion VSCode插件推荐=> Code Runner ant build.xml 编写 kubernetes 调度过程 记录一次上门打散工 k8s本地联调神器kt-connect Ant中如何添加第三方jar包依赖 OpenELB:让k8s私有环境对外暴露端口 linux 网络测速 安装 docker 出现 ERROR: Unsupported distribution 'ol' 问题 logrotate 日志滚动的使用 nginx 编译参数详解 nginx 重写规则 rewrite模块 nginx.conf 配置文件详解 rsync 文件同步 nginx 日志格式整理 163企业邮箱设置教程 2021年第50周记
metallb + ingress-nginx + argocd 本地部署
2025-06-10 · via 博客 on 打工人日志

环境准备(配置代理)

proxy_setting.yml

 1---
 2- name: 设置全局代理并测试连接
 3  hosts: all
 4  become: yes
 5  vars:
 6    proxy_host: "10.10.10.254"
 7    proxy_port: "7890"
 8    http_proxy: "http://{{ proxy_host }}:{{ proxy_port }}"
 9    https_proxy: "http://{{ proxy_host }}:{{ proxy_port }}"
10    no_proxy: "localhost,127.0.0.1"
11
12  environment:
13    http_proxy: "{{ http_proxy }}"
14    https_proxy: "{{ https_proxy }}"
15    no_proxy: "{{ no_proxy }}"
16
17  tasks:
18    - name: 显示代理设置
19      debug:
20        msg:
21          - "HTTP Proxy: {{ http_proxy }}"
22          - "HTTPS Proxy: {{ https_proxy }}"
23          - "NO_PROXY: {{ no_proxy }}"
24
25    - name: 使用 curl 测试外部连接(使用代理)
26      command: curl -I https://www.google.com
27      register: curl_result
28      ignore_errors: yes
29
30    - name: 显示 curl 测试结果
31      debug:
32        var: curl_result.stdout_lines

执行:

1ansible-playbook -i /etc/ansible/hosts proxy_setting.yml

kubespray 安装 k8s

1git clone --depth=1 https://github.com/kubernetes-sigs/kubespray.git
2cd kubespray
3pip install -r requirements.txt
4cp -rfp inventory/sample inventory/mycluster

修改 kubespray/inventory/mycluster/group_vars/k8s_cluster.yml

 1# 选择网络插件,支持 cilium, calico, weave 和 flannel
 2kube_network_plugin: cilium
 3
 4# 设置 Service 网段
 5kube_service_addresses: 10.233.0.0/18
 6
 7# 设置 Pod 网段
 8kube_pods_subnet: 10.233.64.0/18
 9
10# 支持 docker, crio 和 containerd,推荐 containerd.
11container_manager: containerd
12
13# 是否开启 kata containers
14kata_containers_enabled: false
15
16# 是否开启自动更新证书,推荐开启。
17auto_renew_certificates: true

修改 inventory/mycluster/inventory.ini

1[kube_control_plane]                                                                                                         
2node151 ansible_host=10.10.10.151                                                
3                                                                                                                             
4[etcd:children]                                                                                             
5
6kube_control_plane                                                                                                              
7[kube_node]    
8node152 ansible_host=10.10.10.152
9node153 ansible_host=10.10.10.152

执行部署

1sudo ansible-playbook \
2  -i inventory/mycluster/inventory.ini \
3  --private-key=~/.ssh/id_rsa \
4  --user=ubuntu -b \
5  cluster.yml
1kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.12/config/manifests/metallb-native.yaml

等待组件运行:

1kubectl get pods -n metallb-system

配置 IP 地址池 你需要指定一段在内网中未被使用的 IP 段(例如 10.10.10.170-10.10.10.180),MetalLB 会从中自动分配。

 1# metallb-config.yaml
 2apiVersion: metallb.io/v1beta1
 3kind: IPAddressPool
 4metadata:
 5  name: local-pool
 6  namespace: metallb-system
 7spec:
 8  addresses:
 9    - 10.10.10.170-10.10.10.180  # ← 修改为你的局域网可用 IP
10---
11apiVersion: metallb.io/v1beta1
12kind: L2Advertisement
13metadata:
14  name: l2adv
15  namespace: metallb-system

应用配置

1kubectl apply -f metallb-config.yaml

测试验证

 1# test-lb.yaml
 2apiVersion: v1
 3kind: Service
 4metadata:
 5  name: nginx-lb
 6spec:
 7  selector:
 8    app: nginx
 9  type: LoadBalancer
10  ports:
11    - name: http
12      port: 80
13      targetPort: 80
14---
15apiVersion: apps/v1
16kind: Deployment
17metadata:
18  name: nginx
19spec:
20  replicas: 1
21  selector:
22    matchLabels:
23      app: nginx
24  template:
25    metadata:
26      labels:
27        app: nginx
28    spec:
29      containers:
30        - name: nginx
31          image: nginx:alpine
32          ports:
33            - containerPort: 80

应用测试服务

1kubectl apply -f test-lb.yaml

检查服务状态

1kubectl get svc nginx-lb

安装 Ingress nginx

1kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.12.3/deploy/static/
2provider/cloud/deploy.yaml 

等待组件运行:

1kubectl get pods -n ingress-nginx
2kubectl get svc -n ingress-nginx

切换为loadBalancer

1kubectl patch svc ingress-nginx-controller -n ingress-nginx -p '{"spec": {"type": "LoadBalancer"}}'

安装 argocd

1kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

等待组件运行:

1kubectl get pods -n argocd

创建argocd-ingress.yaml

 1apiVersion: networking.k8s.io/v1
 2kind: Ingress
 3metadata:
 4  name: argocd-ingress
 5  namespace: argocd
 6  annotations:
 7    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
 8    nginx.ingress.kubernetes.io/ssl-redirect: "true"
 9spec:
10  ingressClassName: nginx
11  rules:
12    - host: argocd.k8s.com
13      http:
14        paths:
15          - path: /
16            pathType: Prefix
17            backend:
18              service:
19                name: argocd-server
20                port:
21                  number: 443
22  tls:
23    - hosts:
24        - argocd.k8s.com
25      secretName: argocd-tls

创建 TLS 证书 Secret

1openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
2  -out argocd.crt -keyout argocd.key \
3  -subj "/CN=argocd.k8s.com/O=ArgoCD"
4
5kubectl create secret tls argocd-tls \
6  --cert=argocd.crt --key=argocd.key \
7  -n argocd

应用 Ingress 配置

1kubectl apply -f argocd-ingress.yaml

添加 hosts 映射(本地访问)

1kubectl get svc -n ingress-nginx
1NAME                                 TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                      AGE          
2ingress-nginx-controller             LoadBalancer   10.233.41.226   10.10.10.170   80:30776/TCP,443:30834/TCP   99m          
3ingress-nginx-controller-admission   ClusterIP      10.233.13.138                  443/TCP                      99m  

ingress-nginx 的 EXTERNAL-IP 是 10.10.10.170,你需要在本机添加:

110.10.10.170 argocd.k8s.com

获取初始密码

1kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo

访问 ArgoCD 界面

https://argocd.k8s.com