タグ

ブックマーク / knowledge.sakura.ad.jp (28)

  • サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ

    たとえば次のような「user.proto」というプロトコル定義ファイルを用意し、これを変換する例を見てみよう。 syntax = "proto3"; message Picture { uint32 id = 1; uint32 width = 2; uint32 height = 3; enum PictureType { PNG = 0; JPEG = 1; GIF = 2; } PictureType type = 4; } message User { uint32 id = 1; string nickname = 2; string mail_address = 3; enum UserType { NORMAL = 0; ADMINISTRATOR = 1; GUEST = 2; DISABLED = 3; } UserType user_type = 4; repeated

    サービス間通信のための新技術「gRPC」入門 | さくらのナレッジ
  • 事実上の標準ツールとなっているKubernetes向けデプロイツール「Helm」入門 | さくらのナレッジ

    近年ではKubernetesクラスタ上で動作させるアプリケーションにおいて、そのデプロイに「Helm」と呼ばれるツールを使用する例が増えている。Helmは設定ファイルを元にアプリケーションのデプロイを自動実行するツールで、Kubernetesアプリケーション向けのパッケージマネージャとも言われている。今回はこのHelmの概要、使い方、設定ファイルの書き方などを紹介する。 Kubernetes上にアプリケーションをデプロイするための事実上の標準的ツールとなっている「Helm」 近年ではコンテナクラスタ技術であるKubernetesを活用したサービスの運用が増えており、Kubernetes上で動かすことを前提とするソフトウェアも登場している。一方で、Kubernetes上でのアプリケーションのデプロイについては課題も多い。 Kubernetesはサービスを複数の小規模コンポーネントに分割して実

    事実上の標準ツールとなっているKubernetes向けデプロイツール「Helm」入門 | さくらのナレッジ
  • GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ

    GitHubが2019年11月、新機能「GitHub Actions」を正式に公開した。GitHub上のリポジトリやイシューに対するさまざまな操作をトリガーとしてあらかじめ定義しておいた処理を実行できる機能で、今まで外部サービスとの連携が必要だった自動テストや自動ビルドなどがGitHubだけで実現できるようになる。今回はこのGitHub Actionsについて、機能の概要や基的な使い方などを紹介する。 GitHubだけでCI/CD的な機能を実現できる「GitHub Actions」 昨今では、ソフトウェア開発におけるさまざまな工程を自動化するような技術の開発や普及が進んでいる。その1つに、CI(Continuous Integration、継続的インテグレーション)やCD(Continuous Delivery、継続的デリバリー)と呼ばれるものがある。CIはソフトウェアのビルドやテストを

    GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ
    lizy
    lizy 2020/02/05
  • 2019年版・Kubernetesクラスタ構築入門 | さくらのナレッジ

    Kubernetesが標準で提供するリソースの一覧はAPIドキュメントで確認できる。また、独自のリソースを定義して利用することもできる。 Kubernetesでは、「マニフェスト(manifest)」と呼ばれる形式で各種リソースを定義する。マニフェストは木(ツリー)構造で表現できるデータであり、たとえばコマンドラインツール「kubectl」ではYAML形式で記述されたマニフェストを元にリソースの作成や削除、変更といった操作を行える。 kubectlの使い方についてはドキュメントを参照して欲しいが、たとえば、DockerHubで公開されている「httpd」コンテナイメージを利用してApache HTTP Serverを実行させるには、まず次のようなマニフェストファイルを用意する。 apiVersion: v1 kind: Pod metadata: name: httpd labels: a

    2019年版・Kubernetesクラスタ構築入門 | さくらのナレッジ
  • 簡単にローカルKubernetes環境を構築できるツール「Minikube」 | さくらのナレッジ

    Dockerなどのコンテナ技術を使ったクラスタ環境構築ツールとして広く使われているのが「Kubernetes」だ。しかし、Kubernetes環境を自前で構築するのにはやや骨が折れる。そこで今回は、仮想化技術を使って開発・テスト向けのKubernetes環境を構築するツール「Minikube」を紹介する。 Windows/macOS/LinuxKubernetesのテスト環境を構築 Kubernetesはオープンソースで開発されているコンテナクラスタ構築ツールだ。Googleが積極的に推進していることもあり、昨今では広く使われるようになっている(図1)。 図1 KubernetesのWebサイト このKubernetesを使ったクラスタ環境の構築については以前の記事でも紹介しているが、Linux環境が必須であるほか、実運用環境に近い構成にしようとするとさまざまな設定が必要になる。Kube

    簡単にローカルKubernetes環境を構築できるツール「Minikube」 | さくらのナレッジ
  • インフラ・サービス監視ツールの新顔「Prometheus」入門 | さくらのナレッジ

    サーバーやインフラなどの監視ツールの1つとして最近注目されているのが「Prometheus」だ。Prometheusはインストールや設定が容易で、かつ十分な機能を持ち管理しやすいという特徴を持つ。記事ではこのPrometheusの導入方法、基的な監視設定の流れを紹介する。 クラウド時代の監視管理ツール ネットサービスを運営する場合、そのサービスを運営するソフトウェアやサーバー、ネットワーク機器などの状況を監視する手段を用意するのが一般的だ。監視を行い、意図しない状況になったら自動的にメールなどで通知を行うシステムを構築することで、問題をいち早く解決できるようになる。さらに、サービスやマシンの稼働ログを適切に記録することで潜在的な問題を事前に見つけたり、最適化に向けた分析を行うといったことも可能になる。 監視や問題発覚時の通知などを行うオープンソースのツールとしては、過去にElastic

  • Terraform for さくらのクラウド スタートガイド (第二回) ~便利なビルトイン機能~ | さくらのナレッジ

    前回に引き続き、連載第2回である今回はTerraformにビルトインされている便利な機能を紹介していきます。 複数リソースの利用方法 リソースの依存関係 プロビジョニング 変数 アウトプット いずれの機能もTerraformを使いこなす上で重要な役割を持っていますので、着実に押さえておきましょう。 複数のリソース、リソース間の依存関係 前回は単一のEC2インスタンスを構成する例を取り上げましたが、実環境においては複数のリソースを扱うことが多いと思います。 ここではTerraformにおいて複数のリソースを扱う方法、リソースから他のリソースの情報を参照する方法について取り上げます。 また、複数のリソースを扱うことで、リソースとリソースの間に依存関係が生じることがあります。 Terraformがリソース間の依存関係をどう扱うかもここで見ていきます。 複数のリソース Terraformにて複数の

    Terraform for さくらのクラウド スタートガイド (第二回) ~便利なビルトイン機能~ | さくらのナレッジ
  • 手軽にシステムダッシュボードが作れる「Grafana」レビュー | さくらのナレッジ

    システム管理者は多くのサーバから随時データを受信してその健康状態を判断しなければなりません。サービスの負荷があがっていないか、ストレージは十分にあるか、データベースがボトルネックになっていないかなど判断材料は多数あります。 そうしたデータを逐一サーバにログインして確認していては時間がかかってしまいますので、データダッシュボードソフトウェアが使われます。今回はその一つ、Grafanaを紹介します。 Grafanaのインストール Grafanaのインストール方法は幾つも用意されています。CentOS/Ubuntuなど各Linuxディストリビューションごとにパッケージも提供されていますし、Dockerを使ったインストールも行えます。 # macOSの場合 brew update brew install grafana brew services start grafana # Dockerの場

    手軽にシステムダッシュボードが作れる「Grafana」レビュー | さくらのナレッジ
  • Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ

    継続的インテグレーション(CI)ツールとして有名なJenkinsは、ソフトウェア開発におけるテストやビルドと言った作業を自動化するツールだ。記事ではJenkinsの最新版となるバージョン2系で正式に導入された、パイプライン機能を使ったビルド/テスト環境の構築を紹介する。 CIツールと「Jenkins」 ソフトウェア開発の現場において、そのテストはソフトウェアの設計やコーディングと同じくらい重要な過程である。近年のWebアプリケーションやスマートデバイス向けアプリケーション開発ではアプリケーションのリリース間隔が短くなっている傾向があり、そのためテストもより迅速かつ頻繁に行わなければならくなっている。そういった環境で有用なのが、継続的インテグレーション(CI)ツールだ。 CIは、元々は「ソフトウェアの開発コストを下げるためには開発の初期から頻繁にテストを行ってフィードバックを行うべき」とい

    Jenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジ
  • GitHubと連携できる継続的インテグレーションツール「Travis CI」入門 | さくらのナレッジ

    開発の現場ではビルドやテストを自動化して継続的に実行していく「継続的インテグレーション」(CI)が近年普及しつつある。CIを支援するためのツールはいくつかあるが、今回はGitHubと連動し、指定したリポジトリ上にあるコードを自動的に取得してビルドやテストを実行できるサービス「Travis CI」を紹介する。 Travis CIで手軽に継続的インテグレーションを導入 「継続的インテグレーション(CI)」とは、ソフトウェア開発過程において頻繁にテストを行うことで問題を早期に発見し、品質の向上を図る開発手法である。しかし、テストを毎回手動で行うのには手間がかかる。そこで特定のタイミングで自動的にテストを実行し、テスト完了後にその結果を通知する「CIツール」などが利用される。 CIツールとしてよく知られているものとして「Jenkins」などがあるが、多くのツールでは独自にテストのための環境を構築し

    GitHubと連携できる継続的インテグレーションツール「Travis CI」入門 | さくらのナレッジ
  • Docker向けのコンテナをゼロから作ってみよう | さくらのナレッジ

    Docker向けのコンテナを公開するDocker Hubでは多数のコンテナが公開されており、これらをベースにして独自のコンテナを作成できる。しかし、新規に独自のコンテナを作成したい場合もあるだろう。今回は、新規にコンテナを作成するのに必要な作業手順を紹介する。 Dockerにおける一般的なコンテナ作成手順 Dockerではよく使われるOS環境を含むコンテナがあらかじめ用意されており、それをベースに独自のコンテナを作成できる。たとえば、『これから始める「DockerでかんたんLAMP環境 for CentOS」』記事では、既存のCentOSコンテナをベースに、独自の環境を構築する手順を紹介している。 しかし、公開されているコンテナではなく、ゼロからコンテナを構築したいという場合もある。たとえばDocker Hubで提供されている公式のCent OSのコンテナでは、ファイル容量削減のためか一部

    Docker向けのコンテナをゼロから作ってみよう | さくらのナレッジ
  • kubernetesによるDockerコンテナ管理入門 | さくらのナレッジ

    また、これらに加えてコンテナの実行やイメージの管理を行うためのDockerや、分散型設定共有サービス「etcd」も必要となる。そのほか、異なるマシン上で稼動しているコンテナ間で通信を行うためにLinuxのブリッジ接続機能や「Flannel」、「OpenVSwitch」といった仮想ネットワーク機構なども利用される。 これらのうち、apiserverやcontroller-manager、scheduler、etcdについてはクラスタの管理を行うマスターサーバーで実行されるコンポーネントとなる。また、proxyやkubelet、dockerはコンテナを稼動させる各ノード(minionとも呼ばれる)上で実行されている必要がある。 マスターサーバーとノードを分けた一般的な構成は、次の図2のようになる。なお、kubectlについてはマスターサーバー上でも、別のクライアント上でも実行が可能だ。 図2

    kubernetesによるDockerコンテナ管理入門 | さくらのナレッジ
  • 「Muninでかんたんサーバー監視」~初心者でもよくわかる!VPSによるWebサーバー運用講座(3) | さくらのナレッジ

    VPSによるWebサーバー運用講座の連載3回目です。 今回は、サーバーの状態を監視するためのツールMuninをインストールします。 サーバーは生き物。末永くサーバーを利用するために、こまめに監視を行おう。 今まで順調に稼働していたWebサイトに突然アクセスできなくなったことってありませんか? そんなとき、誰しも慌てふためくと思います。 今、障害が起こっている場所がネットワークなのか、サーバーなのか、それとも自分の端末なのか? いろいろ調べているうちに、サーバーに原因があると分かった場合は、次のステップとしてサーバーにログインして何がトラブルになっているのか調べますよね。 トラブル対応は通常そのような手順を踏むと思いますが、とは言っても突発的なトラブルはできるだけ避けたいものです。 トラブルの発生を100%避けることは難しいのですが、日頃からサーバーの稼働状況をを見て異常がないかどうか観察し

    「Muninでかんたんサーバー監視」~初心者でもよくわかる!VPSによるWebサーバー運用講座(3) | さくらのナレッジ
  • Ansible Galaxyを使って楽々ロールの再利用 | さくらのナレッジ

    Ansibleには作成したロールをシェアするためのハブとしてAnsible Galaxyが用意されています。Ansible GalaxyによってChefのCommunity Cookbookのように他人が作成したAnsibleのロールを簡単に再利用することができます(もちろん自分で作成したロールを公開することも可能です)。 今回はこのAnsible Galaxyの仕組みを少し試してみたいと思います。Ansibleのバージョンは1.9.2を使います。 なおAnsibleの導入に関しては省略しますので、未導入の方はAnsibleとVagrantで開発環境を構築するなどを参考に導入してください。 準備 例によってVagrantを利用して試してみましょう。 以下のようにディレクトリを作り、その中で作業していきます。MacもしくはLinuxなどで試してみてください。 $ mkdir try-ansi

    Ansible Galaxyを使って楽々ロールの再利用 | さくらのナレッジ
    lizy
    lizy 2015/08/27
  • CoreOSを使ってDockerコンテナを動かす——15分でできるCoreOSクラスタの作り方 | さくらのナレッジ

    Dockerを利用する際に、コンテナを動かすための環境の1つとしておすすめしたいのがCoreOSだ。CoreOSでは簡単にコンテナの実行環境を構築でき、さらに複数台のCoreOSマシンを組み合わせて連携させる機能も用意されている。今回はCoreOSを使ってサービスを構築するための基礎知識と、実際の作業の流れを紹介する。 Dockerなどを使ったコンテナの利用に特化したCoreOS 近年注目されている「コンテナ」技術は、VMwareやXen、KVMといった仮想化技術と同様にハードウェアやOSとは独立した環境を構築でき、また仮想化を利用するよりも低コストで利用できることで注目を集めている。しかし、Dockerを使ってサービスを実際に運用する場合、どういった環境を用意すれば良いか迷うケースもあるだろう。その解答の1つに、コンテナを稼動させることに特化したLinuxディストリビューションであるCo

    CoreOSを使ってDockerコンテナを動かす——15分でできるCoreOSクラスタの作り方 | さくらのナレッジ
  • サーバー監視、セキュリティのトレンドなど最新の話題がいっぱい! 「第23回さくらの夕べin大阪」レポート | さくらのナレッジ

    2015年2月27日に、大阪で開催された「第23回 さくらの夕べin大阪」に参加してきました。 大阪では半年ぶりの開催で、100人近い方々が参加されました。 今回は、株式会社はてな(以下、はてな)のサーバー管理サービス「Mackerel(マカレル)」や、ウェブペイ株式会社の決済サービス「WebPay」についてご紹介します。 「Mackerelによる簡単サーバー管理入門」 はてなのCTO、田中慎司さんに「Mackerel」を紹介していただきました。Mackerelは、はてなが2014年9月にリリースしたクラウド型(SaaS)のサーバー管理ツールです。 サーバーを複数管理している個人や会社にとって、サーバーの管理や運用などの手間は面倒だし煩わしいものです。できれば、サーバーの保守にはあまり手間をかけたくないでしょう。 そんなニーズにマッチするサービスがMackerelです。 Mackerel

    サーバー監視、セキュリティのトレンドなど最新の話題がいっぱい! 「第23回さくらの夕べin大阪」レポート | さくらのナレッジ
  • GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ

    (※3月18日追記:当初「SSH公開鍵の管理機能」において、GitBucketを「×」としていましたが、SSHアクセス機能を機能を有効にすることでSSH公開鍵の管理機能も利用できるとのことで、「○」に修正しました) GitLabおよびGitBucketと、RedmineおよびTracとの大きな違いとして、フォークやマージ/プルリクエスト機能をサポートしているかどうかがある。これらの機能を利用したいのであれば、GitLabやGitBucketが候補となるだろう。 いっぽう、Redmineはカレンダー機能やガントチャートと言ったプロジェクト管理機能が充実しているのが特徴だ。また、Tracはシンプルなユーザーインターフェイスや、プラグインによるカスタマイズ性の高さがある。フォークやマージ/プルリクエスト機能を利用しないのであれば、プロジェクト管理機能が充実しているRedmineやTracは十分な

    GitHubのようなサイトを独自に運用できる「GitLab」や「GitBucket」を使ってみよう | さくらのナレッジ
  • SeleniumサーバもDockerで。「Docker Selenium」レビュー | さくらのナレッジ

    DockerIT界隈で広まりつつも、なかなか実践的に使うことができないという人は多いのではないかとかと思います。しかし何もサーバ運用環境として使わずとも、使いどころはあります。その一つがサーバソフトウェアのインストールです。 サーバソフトウェアはインストールの手間と、その後のバージョンアップや他のソフトウェアで使っている共通ライブラリのコンフリクトなど、とかく運用が面倒です。基幹系システムが入っているサーバに他のソフトウェアをインストールするのは躊躇しますよね。 そういったときにDockerを使えばそれぞれのソフトウェアの環境が分けられるのでセキュリティ、運用的に安心できます。今回はその一つとしてDocker Selenium、Dockerを使ったSeleniumサーバを紹介します。 Docker Seleniumのインストール インストールはとても簡単です。なおDockerはインストー

    SeleniumサーバもDockerで。「Docker Selenium」レビュー | さくらのナレッジ
  • Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ

    今年の6月にChef Soloは役割を終え、今後引退への道をたどると言うアナウンスがChefの公式ブログでありました。Chef Soloがなくなるということは、必ずChef Serverが必要になると言うことでしょうか?答えはなんとYesです。 しかし安心してください。そのためにChef Zeroが用意されています。一言で言うと、Chef Zeroはローカルで動かせるChef Serverです。 そしてChef Clientをローカルモードで動かすことでローカルのChef Zeroに接続するため、別のChef Serverは必要ありません。要するにChef Soloと同じような感覚でChefを使い続けることができます。 更にKnife-Zeroを使うとChef Solo同様にセットアップ先のマシンにChef Clientを簡単に入れることができます。そこで今回はこのKnife-Zeroを使

    Knife-ZeroをマスターしてChef Soloの引退に備えよう! | さくらのナレッジ
  • DockerでミニHeroku!「Dokku」をさくらのクラウドで試す | さくらのナレッジ

    シンプルなPaaSで知られるHerokuは使っていますか?ちょっとしたWebアプリを作って試すには便利ですが、もっとマシンパワーが必要になったり、もっと自由に使ってみたいと思うこともあるでしょう。 そんな要望を叶えるためのソフトウェアがDokkuです。DockerをベースにしたHerokuクローンになります。Dockerなので任意のクラウド、VPSサーバ上に立てることができます。今回はさくらのクラウドを使ってDokkuを実行する手順を紹介します。 さくらのクラウドでUbuntuサーバを立てる 追加をクリックします DokkuはUbuntu 12.04 x64または14.04 x64をサポートしています。LTSとは言え、ここは14.04を選択することとします。アーカイブにUbuntu Server 14.04 LTS 64bit(基セット)が登録されていますので、ここから選ぶだけでOKです

    DockerでミニHeroku!「Dokku」をさくらのクラウドで試す | さくらのナレッジ