Skip to content

Instantly share code, notes, and snippets.

@shichi-at-nttr
shichi-at-nttr / README.md
Last active November 22, 2021 04:00
ProxySQLにおけるGalera ClusterのFailover挙動観察

ProxySQL ver2.0.0 からサポートされたGalera Clusterサポートの動作を確認する。 ノードの停止/再開の際にReaderノード・Writerノードがどのように変化するかを観察した。 (利用バージョン 2.3.2)

定義ファイル(抜粋)

# defines all the MySQL servers
mysql_servers =
(
        # Writer
@shichi-at-nttr
shichi-at-nttr / Dockerfile
Created May 24, 2020 01:38
Alpine Linux 3.11 で wkhtmltopdf を動かし、日本語WebページをPDF化する
# -------------------------------------------------------------
# 日本語のWebページをPDF化する
# -------------------------------------------------------------
# ビルド: docker build -t alpine-wkhtmltopdf .
# 実行: docker run alpine-wkhtmltopdf https://www.goo.ne.jp - > test.pdf
# -------------------------------------------------------------
# ベースはこちら
# https://github.com/madnight/docker-alpine-wkhtmltopdf
FROM alpine:3.11
@shichi-at-nttr
shichi-at-nttr / _Ansible_ProxySQL_Causes_Error.md
Last active March 18, 2020 08:55
Handling ProxySQL 2.0.8 with Ansible 2.9.1 - 2.9.4 will result in an error

Fixed at 2.9.6

Problems

Use proxysql_mysql_users module in ansible-playbook as such;

- name: create ProxySQL user
  proxysql_mysql_users:
    login_user: "admin"
    login_password: "adminpassword"
 username: "usernamestring"
@shichi-at-nttr
shichi-at-nttr / _README.md
Last active August 7, 2018 13:59
Go言語でクラスタ・非クラスタのRedisを区別なく扱う

Go言語から go-redis でRedisクラスタを使う。

go-redis自体はRedisクラスタに対応しているが、クラスタと非クラスタでは接続の型が異なる。 単純なアクセス部分のアプリケーションは、Redisがクラスタかそうでないかを意識せず書きたい。

接続時のみ、(設定ファイル等からクラスタモードを取得し) 接続方式を変える必要があるが、 interfaceを用いることで、その後のハンドリングはクラスタ/非クラスタを同一に記述するためのサンプル。

@shichi-at-nttr
shichi-at-nttr / _Ansible_ProxySQL_Causes_Error.md
Last active May 1, 2020 07:52
Handling ProxySQL (>= 1.4.8) with Ansible will result in an error
@shichi-at-nttr
shichi-at-nttr / DockerSwarm+Consul+Dnsmasq_on_Ubuntu16.04LTS.md
Last active June 11, 2018 00:48
Docker Swarm Mode + Consul + Dnsmasq on Ubuntu 16.04 LTS

Ubuntu 16.04 LTS 上でConsulとDocker Swarm Modeを組み合わせて使う場合のDNS関連設定メモ

発生した事象

  • Dockerのコンテナ内から名前解決ができない
  • 通常のDockerコンテナからは名前解決できるが、Docker Swarm Modeのサービスコンテナからは名前解決できない
  • 一般のドメインは名前解決できるが、Consulサービス名等が名前解決できない

前提

  • Ubuntu 16.04 LTS
  • Docker-CE 18.03
@shichi-at-nttr
shichi-at-nttr / _consul.service_file_at_ubuntu_18.04_bionic.md
Created April 9, 2018 13:37
Ubuntu 18.04 LTS での Consul起動用 consul.service

consul.serviceファイルの ExecPre= 行を変更する。

この行を

ExecStartPre=[ -f "/run/consul/consul.pid" ] && /usr/bin/rm -f /run/consul/consul.pid

こう変更する。

ExecStartPre=/bin/echo "[ -f /run/consul/consul.pid ] && /bin/rm -f /run/consul/consul.pid" | /bin/sh -s
@shichi-at-nttr
shichi-at-nttr / use_RabbitMQ3.7_with_Ansible2.4.md
Last active December 22, 2017 06:57
Ansible2.4でRabbitMQ3.7を構成する際のrabbitmq_policyエラー回避方法

目的

Ansible 2.4 から RabbitMQ 3.7 のポリシーを構成をするにあたり、 RabbitMQ 3.6 までは発生しなかったエラーを回避するために macOS上のansibleにパッチを当てる。

修正箇所

  • パス: /usr/local/Cellar/ansible/2.4.2.0_1/libexec/lib/python2.7/site-packages/ansible/modules/messaging
  • ファイル: rabbitmq_policy.py
@shichi-at-nttr
shichi-at-nttr / _README.md
Last active August 18, 2023 11:21
Consul環境下でのRabbitMQのクラスタ構築

Consul環境下でのRabbitMQのクラスタ構築

目的

  • /etc/hosts を書かずにRabbitMQのクラスタを構築したい
  • ansibleを使ってクラスタ化まで実行したい

前提

  • RabbitMQの各ホストがConsulで名前解決できる状態にある   - 例えば node01.node.consulnode02.node.consul として個別ホストにアクセスできる
    • サービスとしては rabbitmq.service.consul としてアクセスできる
@shichi-at-nttr
shichi-at-nttr / _README.md
Last active November 9, 2017 01:23
redis-trib.rbでRedisクラスタを構築するAnsibleプレイブック

AnsibleによるRedisクラスタの構築

前提と目的

  • 個々のRedisノードは構築済みとする
    • それぞれ別ノードとし、同一ポートでredisが起動している
  • ansibleを使ってRedisクラスタを構築する
  • クラスタ構築には redis-trib.rb を用いる  - Rubyをインストールし、/usr/local/bin/redis-trib.rb にリンクしておく

具体的には