LoginSignup
2
2

More than 5 years have passed since last update.

CoreOS で LVS を有効にする

Last updated at Posted at 2015-12-19

注) 本記事で取り扱っている CoreOS のバージョンは stable (835.9.0) です.

CoreOS に限らず,Linux カーネルを用いたシステムでロードバランシングを行う場合,最もお手軽な手段として LVS があります.
しかしながら,CoreOS に含まれる Linux カーネルは,LVS を担う ip_vs がカーネルモジュールとなっています.

# lsmod | grep ip_vs
#

もちろん,modprobe でロード可能です.

# modprobe ip_vs
# lsmod | grep ip_vs
ip_vs                 135168  0 
nf_conntrack           90112  1 ip_vs
libcrc32c              16384  1 ip_vs
#

しかし,このままでは再起動したとき, ip_vs モジュールはロードされません.

起動時に ip_vs モジュールをロードさせる

cloud-config.yml を編集します.

ip_vs.conf の書き出し

まず,先頭付近で下記のように記述して,/etc/module-load.d/ip_vs.conf を書きます.

write_files:
  - path: /etc/modules-load.d/ip_vs.conf
    content: ip_vs

サービスの実行指示

次に,coreos: の下に, systemd-modules-load.service を置きます.

coreos:
  units:
    - name: systemd-modules-load.service
      command: restart

クラウド事業者など OEM 先の手が入っている場合には,もしかしたら既に記述があるかもしれません.(Azure の場合にはありませんでした)

再起動と確認

cloud-config.yml をセーブして閉じたら,リブートしてください.

再度ログインして,ip_vs モジュールがロードされていることが確認できたら,作業は終了です.

# lsmod | grep ip_vs
ip_vs                 135168  0 
nf_conntrack           90112  1 ip_vs
libcrc32c              16384  1 ip_vs
#

LVS を使う

LVS は有効になりましたが,CoreOS には LVS の基本的な操作を行うためのコマンドである ipvsadm コマンドが含まれていません.
CoreOS で LVS を効果的に使うための方法は,こちらに書きました.

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2