Как запретить kubernetes сообщать об использовании .projectcalico.org? - PullRequest
3 голосов
/ 22 мая 2019

Я обнаружил, что мой кластер kubernetes отправлял отчеты по использованию .projectcalico.org, как это можно отключить и как именно он использует.

Ответы [ 2 ]

2 голосов
/ 23 мая 2019

Felix - это компонент Calico, который отправляет информацию об использовании.

Феликс может быть настроен , чтобы отключить пинг использования.

Установить переменную окружения FELIX_USAGEREPORTINGENABLED можно на "false" (должна быть строка!) В calico-node DaemonSet

Установите для поля UsageReportingEnabled в ресурсе FelixConfiguration значение false. Это может быть в etcd или в API Kubernetes в зависимости от того, какой магазин вы используете. Оба могут быть изменены с calicoctl.

Если вы используете kubespray, изменить этот параметр немного сложно, так как эти переменные не отображаются в Ansible, кроме как путем ручного изменения шаблонов.

0 голосов
/ 22 мая 2019

Согласно исходному коду:

    # Disable Usage Reporting to usage.projectcalico.org
    # We want to avoid polluting analytics data with unit test noise
    curl_etcd("calico/v1/config/UsageReportingEnabled",
                   options=["-XPUT -d value=False"], ip=ip)

А вот определение curl_etcd

def curl_etcd(path, options=None, recursive=True, ip=None):
    """
    Perform a curl to etcd, returning JSON decoded response.
    :param path:  The key path to query
    :param options:  Additional options to include in the curl
    :param recursive:  Whether we want recursive query or not
    :return:  The JSON decoded response.
    """
    if options is None:
        options = []
    if ETCD_SCHEME == "https":
        # Etcd is running with SSL/TLS, require key/certificates
        rc = check_output(
            "curl --cacert %s --cert %s --key %s "
            "-sL https://%s:2379/v2/keys/%s?recursive=%s %s"
            % (ETCD_CA, ETCD_CERT, ETCD_KEY, ETCD_HOSTNAME_SSL,
               path, str(recursive).lower(), " ".join(options)),
            shell=True)
    else:
        rc = check_output(
            "curl -sL http://%s:2379/v2/keys/%s?recursive=%s %s"
            % (ip, path, str(recursive).lower(), " ".join(options)),
            shell=True)

    return json.loads(rc.strip())
...