专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

cyberark/sidecar-injector Docker 镜像 - 轩辕镜像

sidecar-injector
cyberark/sidecar-injector
为Kubernetes Pod提供自动边车容器注入的变异Webhook准入控制器
0 次下载activecyberark镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Kubernetes自动边车注入Webhook镜像文档

镜像概述和主要用途

该镜像是一个基于Kubernetes准入控制机制的变异Webhook控制器,核心功能是在Pod创建过程中自动注入边车(Sidecar)容器。通过与Kubernetes API服务器集成,实现无需手动修改Pod定义即可为应用添加辅助功能容器,广泛应用于服务网格、可观测性采集、安全代理等场景。

核心功能和特性

  • 自动边车注入:在Pod创建生命周期中自动执行边车容器注入,减少手动配置工作量
  • Kubernetes原生集成:遵循Kubernetes Admission Webhook规范,与集群控制平面无缝协作
  • 灵活的注入规则:支持通过命名空间标签、Pod标签、注解等多维度选择注入目标
  • 可定制注入内容:支持自定义边车容器镜像、资源限制、环境变量、挂载卷等配置
  • 安全通信:基于TLS加密与Kubernetes API服务器通信,确保配置传输安全性

使用场景和适用范围

典型应用场景
  • 服务网格部署:自动注入服务代理容器(如Istio Proxy),实现流量管理、服务发现和监控
  • 可观测性采集:统一注入日志(Fluent Bit)、指标(Prometheus Agent)采集代理
  • 安全增强:注入网络策略执行、身份验证或加密代理,强化Pod安全边界
  • 应用无侵入扩展:在不修改业务镜像的前提下,为Pod添加网络、存储或配置管理功能
适用范围
  • Kubernetes集群版本1.16+(支持AdmissionRegistration v1 API)
  • 需要标准化Pod辅助功能配置的企业级集群
  • 服务网格、微服务架构或DevOps实践的技术栈环境

使用方法和配置说明

前置条件
  • 具备集群管理员权限(需创建MutatingWebhookConfiguration等集群级资源)
  • 已部署TLS证书管理(推荐使用cert-manager自动管理Webhook证书)
  • 集群已启用准入控制器(默认启用)
部署步骤
1. 部署Webhook服务
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sidecar-injector
  namespace: kube-system
spec:
  replicas: 2  # 建议多副本确保高可用
  selector:
    matchLabels:
      app: sidecar-injector
  template:
    metadata:
      labels:
        app: sidecar-injector
    spec:
      containers:
      - name: injector
        image: [镜像名称]:[版本标签]  # 替换为实际镜像地址
        ports:
        - containerPort: 443
        volumeMounts:
        - name: tls-cert
          mountPath: /etc/webhook/tls
          readOnly: true
        - name: injector-config
          mountPath: /etc/webhook/config
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 500m
            memory: 256Mi
      volumes:
      - name: tls-cert
        secret:
          secretName: sidecar-injector-tls  # 包含Webhook服务TLS证书
      - name: injector-config
        configMap:
          name: sidecar-injector-config  # 注入规则配置
2. 创建服务暴露
yaml
apiVersion: v1
kind: Service
metadata:
  name: sidecar-injector
  namespace: kube-system
spec:
  selector:
    app: sidecar-injector
  ports:
  - port: 443
    targetPort: 443
3. 配置MutatingWebhookConfiguration
yaml
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  name: sidecar-injector-webhook
webhooks:
- name: sidecar-injector.example.com
  clientConfig:
    service:
      name: sidecar-injector
      namespace: kube-system
      path: /mutate-v1-pod
    caBundle: [CA证书Base64编码]  # API服务器验证Webhook的CA证书
  rules:
  - operations: ["CREATE"]
    apiGroups: [""]
    apiVersions: ["v1"]
    resources: ["pods"]
  admissionReviewVersions: ["v1"]
  sideEffects: None
  timeoutSeconds: 10
  namespaceSelector:  # 仅匹配带特定标签的命名空间
    matchLabels:
      sidecar-injection: enabled
  objectSelector:  # 仅匹配带特定标签的Pod
    matchLabels:
      sidecar: required
4. 配置注入模板

通过ConfigMap定义边车容器具体配置:

yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: sidecar-injector-config
  namespace: kube-system
data:
  config.yaml: |
    sidecarContainers:
    - name: sidecar-proxy
      image: proxy-image:latest
      ports:
      - containerPort: 8080
      resources:
        limits:
          cpu: 200m
          memory: 256Mi
        requests:
          cpu: 100m
          memory: 128Mi
      env:
      - name: PROXY_MODE
        value: "transparent"
      volumeMounts:
      - name: proxy-config
        mountPath: /etc/proxy
    volumes:
    - name: proxy-config
      configMap:
        name: proxy-default-config
验证部署

创建测试Pod并验证边车注入:

bash
# 创建带注入标签的测试Pod
kubectl run test-pod --image=nginx --labels=sidecar=required -n [启用注入的命名空间]

# 检查Pod容器列表(应包含业务容器和sidecar容器)
kubectl describe pod test-pod | grep "Container ID"
配置参数说明
参数类别关键配置项说明
注入范围控制namespaceSelector通过命名空间标签选择注入目标
objectSelector通过Pod标签选择注入目标
namespaceSelector.matchExpressions复杂命名空间选择逻辑(如排除系统命名空间)
边车容器配置sidecarContainers[].image边车容器镜像地址
sidecarContainers[].resources边车容器资源限制与请求
sidecarContainers[].env边车容器环境变量配置
Webhook服务配置clientConfig.service.pathWebhook处理请求的URL路径
timeoutSecondsWebhook处理超时时间(建议5-10秒)
sideEffects声明Webhook是否有副作用(必须设置为None或NoneOnDryRun)
注意事项
  • 生产环境建议部署2+副本确保Webhook服务高可用
  • 合理配置超时时间避免影响Pod创建效率
  • 通过命名空间和Pod标签精确控制注入范围,避免过度注入
  • 定期更新TLS证书防止过期导致注入失败
  • 首次部署建议先在测试命名空间验证注入效果
查看更多 sidecar-injector 相关镜像 →
cyberark/conjur-authn-k8s-client logo
cyberark/conjur-authn-k8s-client
by cyberark
Conjur Kubernetes集成的认证边车容器
510M+ pulls
上次更新:11 天前
cyberark/conjur-cli logo
cyberark/conjur-cli
by cyberark
用于管理CyberArk Conjur服务器的命令行界面
4500K+ pulls
上次更新:1 个月前
cyberark/conjur logo
cyberark/conjur
by cyberark
为现代基础设施提供密钥管理和机器身份服务。
295M+ pulls
上次更新:2 个月前
cyberark/secrets-provider-for-k8s logo
cyberark/secrets-provider-for-k8s
by cyberark
CyberArk Secrets Provider for Kubernetes允许使用DAP或Conjur在CyberArk Vault中存储和管理的密钥,并在Kubernetes应用容器中使用,以init容器形式运行并为pod提供所需的Conjur密钥。
31M+ pulls
上次更新:1 个月前
cyberark/secretless-broker logo
cyberark/secretless-broker
by cyberark
连接代理,使应用程序无需管理密钥即可透明地对服务进行身份验证
11M+ pulls
上次更新:2 个月前
cyberark/demo-app logo
cyberark/demo-app
by cyberark
适用于演示、教程和概念验证的小型应用
1M+ pulls
上次更新:2 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
cyberark/sidecar-injector
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429