fleetctl 使用時の注意点
fleetctl を使用する際の注意点
fleetサービスはetcd(ver1/2)において稼働する、cluster / proxyに対して、systemdの操作を簡易的に行える大変素晴らしいサービスです!
ただある設定が抜けていたり、etcd(クラスタ)が不調な場合、fleetctlからsystemdの登録ができないなどの事象が発生します。
では早速、自分のPC中で行っている設定を公開いたします。
fleetctl 基本登録について
通常は以下のようなコマンドを叩いて、Unitサービスを登録していきます。
fleetctl --tunnel 192.168.0.10 submit nginx-web@1 # systemdファイルを配置しますよ! fleetctl --tunnel 192.168.0.10 load nginx-web@1 # chkconfigでいう 起動時onの設定にしますよ! fleetctl --tunnel 192.168.0.10 start nginx-web@1 # systemdを起動しますよ!
ここで出てくるのがtunnelのclusterのIP指定。これが煩わしく、私の.bash_profileには以下の設定を埋め込んでいます。
eval "$(rbenv init -)" #ssh-addコマンド失敗をさけるため、evalチェックします。 ssh-add ~/.ssh/id_rsa #鍵情報を先に読み込みます export FLEETCTL_SSH_USERNAME=core #fleetctlを動作させる時のuser名を指定します。 export FLEETCTL_TUNNEL=192.168.0.10 #--tunnelのIPを指定します。
上記のように設定し、下記のように読み込めば、煩わしい設定が不要になります。
$ source ~/.bash_profile
fleetctl submit nginx-web@1 fleetctl load nginx-web@1 fleetctl start nginx-web@1
あら、タイピング量が減って楽ですね。
但し!気をつけないといけないのが、「export FLEETCTL_TUNNEL=192.168.0.10」として固定していること
万一、192.168.0.10のサービスが完全ダウンしてしまうと、fleetctlコマンドが効かなくなってしまいます。
その場合は改めて、clusterのほかIPアドレスをFLEETCTL_TUNNELの環境変数に登録してください。
前回記事ご紹介:
【CoreOS】冗長化構成 Keepalived+NginxLB+NginxWEB(完)
【CoreOS】fleet + docker + keepalived(VRRP+VIPのみ)で簡単LB
Mac + Virtualbox + CoreOS + etcd2 + fleet の基本設定(1)