• Kubernetes addon-manager


    Addon-manager

    附加组件管理器(Addon-manager)是运行在 Kubernetes 集群 Master 节点、用来管理附加组件(Addons)的服务。它管理着 $ADDON_PATH(默认是 /etc/kubernetes/addons/)目录中的所有扩展,保证它们始终运行在期望状态。

    Addon-manager 支持两种标签

    • 对于带有 addonmanager.kubernetes.io/mode=Reconcile 标签的扩展,无法通过 API 来修改,即
      • 如果通过 API 修改了,则会自动回滚到 /etc/kubernetes/addons/ 中的配置
      • 如果通过 API 删除了,则会通过 /etc/kubernetes/addons/ 中的配置自动重新创建
      • 如果从 /etc/kubernetes/addons/ 中删除配置,则 Kubernetes 资源也会删除
      • 也就是说只能通过修改 /etc/kubernetes/addons/ 中的配置来修改
    • 对于带有 addonmanager.kubernetes.io/mode=EnsureExists 标签到扩展,仅检查扩展是否存在而不检查配置是否更改,即
      • 可以通过 API 来修改配置,不会自动回滚
      • 如果通过 API 删除了,则会通过 /etc/kubernetes/addons/ 中的配置自动重新创建
      • 如果从 /etc/kubernetes/addons/ 中删除配置,则 Kubernetes 资源不会删除

    部署方法

    将下面的 YAML 存入所有 Master 节点的 /etc/kubernetes/manifests/kube-addon-manager.yaml 文件中:

    apiVersion: v1
    kind: Pod
    metadata:
      name: kube-addon-manager
      namespace: kube-system
      annotations:
        scheduler.alpha.kubernetes.io/critical-pod: ''
        seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
      labels:
        component: kube-addon-manager
    spec:
      hostNetwork: true
      containers:
      - name: kube-addon-manager
        image: k8s.gcr.io/kube-addon-manager:v8.6
        command:
        - /bin/bash
        - -c
        - exec /opt/kube-addons.sh 1>>/var/log/kube-addon-manager.log 2>&1
        resources:
          requests:
            cpu: 5m
            memory: 50Mi
        volumeMounts:
        - mountPath: /etc/kubernetes/
          name: addons
          readOnly: true
        - mountPath: /var/log
          name: varlog
          readOnly: false
      volumes:
      - hostPath:
          path: /etc/kubernetes/
        name: addons
      - hostPath:
          path: /var/log
        name: varlog
    

    源码

    Addon-manager 的源码维护在 https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/addon-manager

  • 相关阅读:
    .NET Core log4net 使用(转贴)
    Tomcat的工作原理
    Servlet工作原理
    java实现快速排序
    正则表达式积累
    js常用知识真理
    最常用的的设计模式
    【设计模式】单例设计模式
    java中堆栈区别,递归和迭代区别
    Struts2的工作原理
  • 原文地址:https://www.cnblogs.com/vincenshen/p/9641552.html
Copyright © 2020-2023  润新知