Suche senden
Hochladen
Goss入門
•
4 gefällt mir
•
2,401 views
S
ShuyaMotouchi1
Folgen
Gossの資料
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 20
Empfohlen
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Atsushi Tanaka
Zabbix概論2018
Zabbix概論2018
真乙 九龍
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
TomomitsuKusaba
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
AWSで作る分析基盤
AWSで作る分析基盤
Yu Otsubo
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
Shuji Kikuchi
Empfohlen
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Atsushi Tanaka
Zabbix概論2018
Zabbix概論2018
真乙 九龍
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
TomomitsuKusaba
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
AWSで作る分析基盤
AWSで作る分析基盤
Yu Otsubo
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
Shuji Kikuchi
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
オラクルエンジニア通信
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
Etsuji Nakai
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
Masahito Zembutsu
知っているようで知らないPAMのお話
知っているようで知らないPAMのお話
Serverworks Co.,Ltd.
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
オラクルエンジニア通信
Ansible specでテストをする話
Ansible specでテストをする話
KeijiUehata1
AWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
オラクルエンジニア通信
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
VirtualTech Japan Inc.
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
ftnk
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
Weitere ähnliche Inhalte
Was ist angesagt?
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
佑哉 廣岡
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
オラクルエンジニア通信
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
Etsuji Nakai
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
Masahito Zembutsu
知っているようで知らないPAMのお話
知っているようで知らないPAMのお話
Serverworks Co.,Ltd.
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
オラクルエンジニア通信
Ansible specでテストをする話
Ansible specでテストをする話
KeijiUehata1
AWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
オラクルエンジニア通信
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
VirtualTech Japan Inc.
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
Was ist angesagt?
(20)
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
Oracle Database: リリースモデルとアップグレード・パッチ計画 (2021年2月版)
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
知っているようで知らないPAMのお話
知っているようで知らないPAMのお話
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Ansible specでテストをする話
Ansible specでテストをする話
AWS X-Rayによるアプリケーションの分析とデバッグ
AWS X-Rayによるアプリケーションの分析とデバッグ
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
OCI 購入モデルの整理と Universal Credit 最新情報(2021年2月17日版)
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Ähnlich wie Goss入門
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
ftnk
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
Itamae-Serverspec入門
Itamae-Serverspec入門
辰徳 斎藤
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
Gosuke Miyashita
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
takanori suzuki
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Shuji Watanabe
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
賢 秋穂
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
Casper js エスキュービズム勉強会0718
Casper js エスキュービズム勉強会0718
エンジニア勉強会 エスキュービズム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
SEGADevTech
20131227_appium+rspec
20131227_appium+rspec
Kazuaki Matsuo
Ansible入門
Ansible入門
Daiki Hayakawa
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
Kodai Terashima
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
Daisuke Ikeda
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
Tamirlan Torgayev
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
yoshiaki iwanaga
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
Yoshinori Nakanishi
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
Takuya ASADA
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
Takakiyo Tanaka
Ähnlich wie Goss入門
(20)
ポリドックにServerspecを教えよう!
ポリドックにServerspecを教えよう!
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
Itamae-Serverspec入門
Itamae-Serverspec入門
Serverspec at Testing Framework Meeting
Serverspec at Testing Framework Meeting
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
統合監視ソフトウェア Zabbix新バージョン2.0の紹介
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
130412 kayac-cinnamon
130412 kayac-cinnamon
Casper js エスキュービズム勉強会0718
Casper js エスキュービズム勉強会0718
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
20131227_appium+rspec
20131227_appium+rspec
Ansible入門
Ansible入門
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
JAWS-UG コンテナ支部 #15 - Amazon ECSの開発環境を動的に管理するツールを作ってみました
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
Goss入門
1.
Goss 入門 システム本部 インフラサービス開発部 システムソリューションチーム Shuya
Motouchi 迅速かつ簡単なサーバー検証ツールの使い方 19Pages
2.
アジェンダ • Serverspecとは • Gossとは何か •
Serverspecとの違いは • Gossチュートリアル • 今後の展望
3.
このスライドの最終目標は、 任意のテスト環境に Gossのインストールを してもらうことです。 The Gopher character
is based on the Go mascot designed by Renée French.
4.
Serverspecとは サーバーの状態をコードにより自動的にテストするためのツールであり、 Ruby製のテストフレームワークであるRSpecをベースにしています。 なので、Server + RSpec
= Serverspec という名前なのです。 以下の目的で使うサーバーテストツールです。 1. テスト駆動によるインフラコード開発 2. サーバ構築後の確認作業の自動化 3. 稼働しているサーバの監視 4. サーバの再起動後の状態確認 5. サーバのあるべき状態の抽象化 また、Chef, Puppet, Ansibleと合わせて使うと テスト駆動なインフラコード開発が可能になります 根幹にはInfrastructure as Code的な考え方があり Configuration as Code的な考え方とは 分けて考えなければならない この辺は今回、割愛。
5.
テスト駆動インフラの流れ 1. これから書くインフラコードに対するテストコードを記述する 2. インフラコード適用前のVMに対してテストを実施し失敗することを確認する 3.
目的のインフラコードを書く 4. インフラコードをVMに適用し、テストが成功することを確認する 5. インフラコード適用前の状態にVMをロールバックする 6. インフラコードをリファクトリングする 7. リファクタリングしたインフラコードをVMに適用し、テストが成功することを確認する 8. 1 ~ 7 を繰り返す Serverspecはサーバー構成管理ツールが複雑であったから生まれたツールです 複雑なサーバー構成管理ツールが不要になるとServerspecも不要になるでしょう しかし、手動でインフラを構築する場合はこれからも有益なツールであるといえます
6.
Gossとは • Gossとは、サーバーの構成を検証するための YAMLベースのServerspecの代替ツールです。 • 現在のシステム状態からテストを生成できるようにすることもでき、 テストを書くプロセスをより簡単に行うことができます。 •
インストールが簡単でGoさえ動けば基本的にどこでも動かせる。 • バイナリとして10MBぐらいの大きさ • Dockerへの対応やモジュールが割と充実している。 Goss is EASY! Goss is FAST! Goss is SMALL! ※ https://github.com/aelsabbahy/goss
7.
Serverspecとの違い メリット • Ruby(もしくはGo)に精通してなくてもサーバーが正しく構成さ れているかどうかを確認することができる • インストールが簡単 •
gemなどの環境に悩まされることがない デメリット • プラグインが少ないので少しはみだしたことをしようとすると どうしても、自分で記述する為のGoの知識が必要になる
8.
Goss チュートリアル 1. 15秒でGossをインストール 2.
45秒でGossを使う 3. 私がよく使うtests おまけ
9.
1. 15秒でGossのインストール 自動インストール curl -fsSL
https://goss.rocks/install | sh curl -L https://github.com/aelsabbahy/goss/releases/download/_VERSION_/goss-linux-amd64 -o /usr/local/bin/goss chmod +rx /usr/local/bin/goss 手動インストール
10.
• 公式ドキュメントに45秒で使えるよ!とあるので書いただけ でも、なれると本当に高速に行うことができる。 • 使用するコマンドだけ確認する •
この2行で現在のOpenssh-serverのパッケージの情報とsshdのサービス の状態を記録できた。 # goss add package openssh-server # goss add service sshd 2. 45秒でGossを使う
11.
sshdを止めてgossを実行すると しっかりとエラーが出ます。 FS....F Failures/Skipped: (詳細中略) # systemctl stop
sshd # goss validate 2. 45秒でGossを使う
12.
# goss serve
2>/dev/null & # curl -i http://localhost:8080/healthz 2. 45秒でGossを使う ちなみに、HTTPとして取得も可能です。 FS....F Failures/Skipped: (詳細中略)
13.
詳しくはこちらに全部書いています。 https://github.com/aelsabbahy/goss/blob/master/docs/manual.md
14.
おまけ
15.
3.私がよく使うtests 複数のCUIコマンドがあります。 • add a
- テストスイートにシステムリソースを追加する • autoadd aa - すべての一致するリソースをテストスイートに自動的に追 加する • render r - 参照されたすべてのゴスファイルをインポートした後にゴス ファイルをレンダリングする • serve s - healthzエンドポイントを提供する • validate v - システムを検証する
16.
私がよく使うtests その中でも私が検査するときに使ったもの (完全に独断と偏見で決定してます) • gossfile: gossファイル内でgossfileを定義する。 • command コマンドを実行して返り値を確認する。 •
file fileに記載されている情報とどの程度違うのか確認する
17.
私がよく使うtests • gossfile: gossファイル内でgossfileを定義する。 gossfileを機能や役割に分ける。 gossfile: "goss_git.yaml": {} "goss_cpanel.yaml":
{} "goss_basic.yaml": {} "goss_service.yaml": {} "goss_license.yaml": {} "goss_add_command.yaml": {}
18.
私がよく使うtests • command コマンドを実行して返り値を確認する ステータスや出力のチェックなどを行うことができる
19.
私がよく使うtests • file fileに記載されている情報とどの程度違うのか確認する そのほかにもシンボリックリンクの情報や 権限の情報も取得できる file: /var/cpanel/packages/.git/config: exists: true contains: -
url = git@sys-git.gmo.jp:zcom/zmh_packages.git /var/cpanel/features/.git/config: exists: true contains: - url = git@sys-git.gmo.jp:zcom/zmh_features.git
20.
今後の展望 • Infrastructure as
Code について自分自身がしっかりと理解する。 • Gossは構築も簡単なので既存の環境でも無理なくできる範囲で導 入していきたい • CIツールなどを導入してGitlabの変更に対して自動的に認識するよ うな仕組みもあると嬉しいです。 • そもそも、CIツールがあるとテスト自体のやり方も検討して 変えていかねばならない • 出力がNagiosに対応していたりHTTPに対応しているので その辺の利用も今後、考えておきたい