Как я могу узнать, используют ли какие-либо ресурсы k8s определенную карту конфигурации?

# #kubernetes #google-cloud-platform

Вопрос:

Я нахожусь в кластере GCP k8s. Я хочу убедиться, что никакие модули или другие ресурсы kubernetes не используют определенную карту конфигурации, прежде чем удалять карту конфигурации. Есть ли команда kubectl, которую я могу использовать для проверки того, что используется в конфигурационной карте?

Ответ №1:

Вы можете экспортировать все свои ресурсы и grep для имени карты конфигурации.

Вы можете использовать этот скрипт для экспорта всех выбранных ресурсов (выберите ресурсы в категории РЕСУРСЫ).

 NAMESPACE="your_namespace"
RESOURCES="configmap secret daemonset deployment service"

for resource in ${RESOURCES};do
  rsrcs=$(kubectl -n ${NAMESPACE} get -o json ${resource}|jq '.items[].metadata.name'|sed "s/"//g")
  for r in ${rsrcs};do
    dir="${NAMESPACE}/${resource}"
    mkdir -p "${dir}"
    kubectl -n ${NAMESPACE} get -o yaml ${resource} ${r} > "${dir}/${r}.yaml"
  done
done
 

Далее вы можете использовать grep -nr your_config_map_name your_directory(your name space in this case)

это покажет вам файлы, содержащие карту конфигурации, т. Е. ресурсы, которые ее используют.