Ansible 如何安装kubectl?

Ansible 如何安装kubectl?,ansible,Ansible,我想安装。 安装说明如下所述: .... curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update s

我想安装。 安装说明如下所述:

  ....
  curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
  sudo apt-get update
  sudo apt-get install -y kubectl
如何将上面的说明翻译成简单的任务

我尝试的是:

  - name: Add kubectl GPG apt Key
    apt_key:
      url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
      state: present

在这里我甚至不知道,我是否必须首先添加
get\u url
任务,或者像上面那样直接添加它

你在正确的轨道上。我们使用以下Ansible代码安装Rundeck,它遵循类似的步骤:

- name: add rundeck apt repository key
  become: true
  apt_key:
    url: https://bintray.com/user/downloadSubjectPublicKey?username=bintray

- name: add rundeck apt repository
  become: true
  apt_repository:
    repo: 'deb https://rundeck.bintray.com/rundeck-deb /'
    filename: rundeck

- name: install rundeck dependencies
  become: true
  apt:
    name: openjdk-8-jdk

- name: install rundeck and rundeck-cli
  become: true
  apt:
    name: "{{ item }}"
  loop:
    - rundeck
    - rundeck-cli
以这为例,你应该准备好了。添加新存储库时,模块自动运行apt get update

  • 您可以按顺序使用URI模块来代替curl命令。更多信息

  • 您可以将此调用的结果注册到变量中。i、 将结果存储到ansible变量中,以便在下一步中使用,如案例中的apt key add。如何将结果保存在变量中-

  • 执行shell命令并切换到sudo user,您可以在这里找到它:和

  • 一旦您理解了上述内容,最后您就必须编写一个yaml文件,其中包含您想要的任务和顺序

  • tasks:
        - name: post to consul
        uri:
           url: http://marathon.service.consul:8080/v2/apps/
           method: POST
           body: "{{ lookup('file','mesos-consul.json') }}"
           body_format: json
           headers:
              Content-Type: "application/json"