В именах групп обнаружены недопустимые символы, но не заменены ansible k8s - PullRequest
1 голос
/ 13 июля 2020

Мой файл инвентаризации k8s.yaml:

plugin: k8s

connections:

- kubeconfig: '/Users/user1/Documents/Learning/ansible/kubeconfig.test.yaml'

context: 'user1@testeks.us-east-1.eksctl.io'

ansible playbook:

test_new.yml

- hosts: localhost

tasks:

- name: Create a k8s namespace

k8s:

name: testing3

api_version: v1

kind: Namespace

state: present

Похоже, что команда ansibleplaybook не собирая инвентарь k8s.yaml. Также я не уверен, почему я получаю Предупреждение о недопустимых символах {'-' в предупреждениях о названиях групп. хорошо выглядеть или мне чего-то не хватает?

ansible-playbook -vvvv -i k8s.yaml -vvv ./test_new.yml
No config file found; using defaults

setting up inventory plugins

host_list declined parsing /Users/user1/Documents/Learning/ansible/k8s.yaml as it did not pass its verify_file() method

script declined parsing /Users/user1/Documents/Learning/ansible/k8s.yaml as it did not pass its verify_file() method

Not replacing invalid character(s) "{'-', '9'}" in group name (909676E2B4F81625BF5994625D3353C9-yl4-us-east-1-eks-amazonaws-com)

[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

Not replacing invalid character(s) "{'-'}" in group name (namespace_add-ons)

Not replacing invalid character(s) "{'-'}" in group name (namespace_add-ons_pods)

Not replacing invalid character(s) "{'.', '/', '-'}" in group name (label_app.kubernetes.io/instance_aws-cluster-autoscaler)

1 Ответ

2 голосов
/ 14 июля 2020

Я не уверен, откуда вы взяли, что вам нужны параметры Kubernetes, указанные в вашем файле инвентаря. Если вы посмотрите на документацию модуля k8s , там сказано, что kubeconfig и context указаны в playbook или как переменные среды.

Ваш инвентарь должен выглядеть примерно так:

all:
  hosts:
    host.where.can.access.the.kubeapiserver.com:

Тогда ваш playbook:

- name: Create a k8s namespace
  k8s:
    name: testing3
    api_version: v1
    kind: Namespace
    state: present
    kubeconfig: '/Users/user1/Documents/Learning/ansible/kubeconfig.test.yaml' ? this can replaced by the K8S_AUTH_KUBECONFIG env variable
    context: 'user1@testeks.us-east-1.eksctl.io'  ? this can replaced by the K8S_AUTH_CONTEXT env variable
...