Dockerだと関係ないところでハマりそうな気がしたのでVagrantにしてみた。ファイルはここに置いといた。
https://github.com/bufferings/sandbox-kafka
Vagrant + Ansible Local Provisioner
以前に触った時は、Ansible2系が出たばかりで、ちょっと手を入れなきゃ動かなかったけど、もう大丈夫だった。のでこんな風にすっきり。
Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" config.vm.provider "virtualbox" do |vb| vb.memory = "2048" end config.vm.provision "ansible_local" do |ansible| ansible.playbook = "playbook.yml" end end
AnsibleでKafkaのQuickStartができる程度の環境を準備
っても、ファイルダウンロードして解凍するだけ。
kafka触ろうとしてたはずなのにansible調べてる。(平常運転
— Mitsuyuki Shiiba (@bufferings) 2017年5月2日
playbookの書き方のルールとかよくわかってない。こんな感じに落ち着いた。
- hosts: all become: yes vars: scala_version: "2.11" kafka_version: "0.10.2.1" install_dir: "/opt" symlink_name: "kafka" kafka_name: "kafka_{{ scala_version }}-{{ kafka_version }}" kafka_download_url: "http://ftp.jaist.ac.jp/pub/apache/kafka/{{ kafka_version }}/{{ kafka_name }}.tgz" tasks: - name: ensure openjdk8 present apt: name: "openjdk-8-jdk" state: present update_cache: yes - name: ensure kafka present unarchive: remote_src: yes src: "{{ kafka_download_url }}" dest: "{{ install_dir }}" - name: ensure symlink present file: src: "{{ install_dir }}/{{ kafka_name }}" dest: "{{ install_dir }}/{{ symlink_name }}" mode: 0755 state: link
参照
以前にAnsible Local触った時:
以前にKafka Streamsを触った時:
それを読んだ時の僕:
そして自分のブログ見ながら「記憶にございません」って言ってる(平常運転
— Mitsuyuki Shiiba (@bufferings) 2017年5月2日