Furyu
[フリュー公式]

Tech Blog

フリュー株式会社の技術ブログです

2019年08月9日

Hashimoto Naoto

コマンド操作でESXiユーザを作成して権限を付与する

こんにちは。
信玄餅を食べると毎回せる系エンジニアの橋本です。
たかが信玄餅、そう思ってないですか? それやったら明日も私は噎せますよ。

さて本題。VMWareHostClientのGUIにログインせずにユーザ追加や権限設定を行いたい。

こうする

たとえば、keisukeというユーザを作ってAdmin権限を付与したい場合、以下のようにします。

初期から設定できる権限は以下の通り。

  • Admin: 管理者権限ロール。なんでもできます。
  • NoAccess: デフォルトのロール。とくに何ができるわけでもない。
  • ReadOnly: 閲覧権限ロール。ESXiホスト関連のオブジェクトを表示できるが、変更はできない。

自分で必要な権限ロールを新しく作ることもできます。

応用

コマンドライン上で完結できると何がシアワセかと言いますと、何台ものホストサーバに対して同じ操作をする手間を軽減できるのです。

たとえばesxi-test-server-01〜20までの20台のサーバに同じユーザを作り、公開鍵までまとめて配置したいときは以下のようにします。

公開鍵id_rsa.pub はあらかじめssh-keygenで作っておいてくださいね。
なお、このまま使うと全環境で同じパスワードが割り当てられていますから、ユーザ作成後に適宜変えてください。

Ansibleを用いて初期設定をコード化&自動化したい場合はvault でパスワードの暗号化を施すのがモアベターです。


2018年09月20日

Kayo

sshfsを使ってみました!

みなさん、こんにちは。ピクトリンク事業部インフラ課の藤本佳世です。
今回は、使ってみてとても便利だった「sshfs」をご紹介したいと思います。

sshfsとは

SSHを経由して、他のサーバのディレクトリをマウントすることができるコマンドです。

なぜ便利なのか?

私は日々の業務でよくAnsibleを使ってサーバのミドルウェアのインストールや設定などを行います。
※Ansibleについては、以前ブログを書いているのでこちらをご覧ください。

 

今までは自分のローカルUbuntu環境からAnsibleを実行していたのですが、Macから実行すると環境違いでエラーになる事などがありました。
この状況を解消すべく、インフラ課のメンバー全員が同じ環境でAnsibleを実行できるよう専用サーバを構築しました。しかし、ローカルとリモートのコードを2重で管理という面倒な仕様になってしまい、何か解消する方法はないかと悩んでいました。

blog1

そんな時見つけたのが「sshfs」です。
これを使ってリモートで直接コードを修正しつつ、ローカルでのデバッグ実行も可能となり、とても便利になりました。

NFSと比較した場合、リモートサーバでコマンドを実行する(=SSHでログインして実行する)環境が既にできあがっているので、ローカル側にプログラムをインストールするだけで実現可能というお手軽さもあります。

使い方は簡単

  • sshfsのインストール(Ubuntuの場合)

  • マウント方法

例として、私のローカルマシーンの/testというディレクトリを作成し、サーバserver1の/home/fujimoto.kayoディレクトリをマウントします。

あとは、sshfsコマンドをローカルマシーンから実行するだけです。

これでマウントができた状態です。実際にサーバserver1の/home/fujimoto.kayo配下には、example-ansibleディレクトリが存在しますが、
ローカルマシーンの/test配下にも同じexample-ansibleが存在します。

  • アンマウント方法も簡単

最後に

コードの2重管理がなくなったり、コードの修正をローカルで使い慣れている環境のエディタで編集できたり、ちょっとした工夫で日々の業務がスムーズに行えるようになりました。

是非、皆さんもこの「sshfs」を使ってみて下さい!


2016年05月27日

Kayo

テスト環境にOpenStackを導入しました!

みなさん、こんにちは。コンテンツ・メディア第1事業部インフラ担当の藤本佳世です。 少し前になりますが、テスト系環境にOpenStackを導入しました。OpenStackを聞いたことがない方も安心して下さい。これから構築手順やTipsなどご紹介できればと思っています。今回は1回目「OpenStackとは?」についてお話ししたいと思います。今後、下記の内容をブログに投稿する予定です。

  • OpenStack構築手順
  • ネットワーク設定  ※高可用構成やFloatingIP割り当てなど
  • 仮想マシンの起動や管理について  ※イメージやフレーバーの作成など
  • セキュリティグループについて ※追加や削除方法など
  • つまずいたこと

What is OpenStack?

OpenStack とは、簡単に説明すると、プライベートクラウド環境でAmazon Web Services(以下AWS)のようなものを構築可能にしたソフトウェアです。AWSを使ったことがない方に向けて、もう少し詳しく説明すると、OpenStackを使ってプライベートクラウド上に仮想サーバやネットワーク、ストレージなどを構築することができます。そして、それら作成したものはダッシュボードの Web インターフェースから管理することができ、GUI上で簡単に仮想サーバを構築することができます。
その他にもOpenStackは、DockerやAnsibleなど構成管理ツールとも連携することができ、より効率よく短時間で用途にあったサーバを構築することができます。

OpenStack導入でサーバ構築時間を短縮

openstack導入1

openstack導入2

OpenStackを導入することにより、サーバの構築時間を今まで以上に短縮することができました。開発メンバーから、「新技術の検証環境として新しいサーバが欲しい」や「新しいサーバを購入するほどではないけど、検証用にサーバが欲しい」など要望があった場合、今までサーバが届いてから3時間ほどかかっていた構築作業が、10分以内で可能となりました。構築が早くなったことで、開発メンバーを待たせることなく、気軽にサーバ構築依頼をしてもらえるようになりました。

7つのコンポーネント

OpenStackは7つの機能から構成されます。

  1. Nova (仮想マシンの提供と管理を行う)
  2. Keystone (ユーザー認証・管理を行う)
  3. Horizon (Webブラウザ経由で管理・操作できるGUIコンソールを提供する)
  4. Glance (仮想イメージの管理を行う)
  5. Cinder (仮想マシンが使用するストレージ管理を行う)
  6. Neutron (仮想ネットワークの管理を行う)
  7. Swift (クラウドストレージを提供する)

OpenStack構築内容

ホストOS: Ubuntu14.04LTS (8台構成), OpenStackバージョン: Liberty

  • サーバ1:Nova,Keystone,Horizon,Glance,Cinder
  • サーバ2:Nova,Keystone,Horizon,Glance,Cinder
  • サーバ3:Nova,Glance,Cinder
  • サーバ4:Nova,Glance,Cinder
  • サーバ5:Nova,Glance,Cinder
  • サーバ6:Nova,Glance,Cinder
  • サーバ7:Neutron
  • サーバ8:Neutron

※Swiftは未検証

ホストOSのUbuntuインストールは、前回ご紹介したPXE機能を使って構築しました。
前回の記事はこちらへhttp://tech.furyu.jp/blog/?p=3858

次回は、各コンポーネントの説明と構築手順をご紹介したいと思います。


2015年01月8日

kunihira

GitBucketでコードレビュー

GitBucketGit

明けましておめでとうございます。国平です。 久々の投稿となってしまいましたが、今年も元気に開発して、たまったノウハウをこのブログに投稿していこうと思います。

今回は、以前ご紹介したGitBucketに、みんなが渇望していた あの機能 が追加されて、嬉しさのあまりブログ記事にしてしまいました。

GitBucketのおさらい

  • GitBucketは@takezoen さんが開発してOSSとして公開されているGitHubクローンのWebアプリです
  • Scalaで書かれていて、単体のjarでも実行できるので、お試し導入が非常にしやすいというメリットがあります
  • GitHubのクローンなので、GitHubでできることは大体できます
  • ただ、version2.6までは、コミットに対してコメントする機能がありませんでした

というのが、GitBucketの主な特徴でした。 なので、社内で利用するのに最適なGitHubクローンと言えます。

ついに登場したコメント機能

つい先日、2014年12月29日にGitBucketの最新バージョン2.7がリリースされました。 @takezoenさんのブログでも目玉機能として紹介されていますが、 ついに、コミットおよびdiffへコメントを付与する機能が追加されました。

これによって、ついにGitBucket上でプルリクエストをコードレビューしてマージすることができるようになりました。

さっそく使ってみる

早速、GitBucket内のリポジトリで管理しているドキュメントをちょっと修正してプルリクエストを出してみました。 ご覧のとおりプルリクエストの画面にコメントが一覧表示されています。

PullRequest


このうち、一番下のコメントは、

InLineComment

コミットのDiff表示内にインラインで投稿したコメントでしたー


ということで、完璧です。完璧すぎます。

まとめ

というわけで、ついにGitBucketにコメント機能が追加されました。 これで、社内OSSが活性化すること間違いなしです。(ほんとか?)

GitBucketを導入されている方は早急なアップデートを、導入検討中の方は早急な導入をオススメします。 特に、既にGitBucketを導入されている方は、 MarkDownに関するセキュリティ問題の修正が含まれているそうなので、早めにアップデートした方が良さそうです。

今回のバージョンのその他の内容については、Issueの一覧にまとまっています。

おまけ

コメント機能の中身

以前は、GitBucketにコメント機能を追加するには、かなりJavaScriptでがんばる感じになるんだろうと思っていました。 実際、@takezoenさんも2.7のリリース記事内で

と、jsについて言及されています。

しかし、コメント機能のコミットを見ると、意外とJavaScriptの変更は少なかったです。

GitBucketインストールのAnsible化

インラインコメントの画像に書いてますが、GitBucketのインストール/アップデートをPlaybookにまとめようと思います。 最近、ScalaよりAnsibleのPlaybookを書いてる時間の方が多いので、勢いに任せてやってしまって、いずれここでご報告しようと思います。 (ひょっとしたらもう誰か公開されてるかもしれませんが、勉強のため自作します)

関連記事