{"id":6401,"date":"2014-11-14T11:30:08","date_gmt":"2014-11-14T02:30:08","guid":{"rendered":"http:\/\/www.creationline.com\/?p=6401"},"modified":"2026-05-27T21:52:32","modified_gmt":"2026-05-27T12:52:32","slug":"knife-solo%e3%81%8b%e3%82%89knife-zero%e3%81%b8%e3%81%ae%e7%a7%bb%e8%a1%8c-opschef_ja-getchef_ja","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/6401","title":{"rendered":"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef"},"content":{"rendered":"<h2>\u306f\u3058\u3081\u306b<\/h2>\n<p><a href=\"\/lab\/6380\">\u524d\u56de<\/a>\u306fChef-Solo\u3068Chef-Client\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3092\u6bd4\u8f03\u3057\u3001\u30ed\u30fc\u30ab\u30eb\u30db\u30b9\u30c8\u306e\u53ce\u675f\u3092\u884c\u3044\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e<a href=\"http:\/\/matschaffer.github.io\/knife-solo\/\">Knife-Solo<\/a>\u3068<a href=\"https:\/\/github.com\/higanworks\/knife-zero\">Knife-Zero<\/a>\u3092\u6bd4\u8f03\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>Knife-Solo\u3067\u306f\u6b21\u56f3\u306e\u3088\u3046\u306b\u3001\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u4e0a\u306b\u3042\u308bCookbook\u3084Attribute\u306a\u3069\u306e\u30dd\u30ea\u30b7\u30fc\u3092ssh+rsync\u3067\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306b\u8ee2\u9001\u3057\u3001ssh\u3067\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306b\u30ed\u30b0\u30a4\u30f3\u3057\u3066Chef-Solo\u3092\u5b9f\u884c\u3057\u3066\u30dd\u30ea\u30b7\u30fc\u3092\u53c2\u7167\u3057\u3066\u53ce\u675f\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><img decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-solo.png\" alt=\"knife-solo\"><\/p>\n<p>Knife-Zero\u3067\u306f\u6b21\u56f3\u306e\u3088\u3046\u306b\u3001\u30ed\u30fc\u30ab\u30eb\u30db\u30b9\u30c8\u4e0a\u306b\u3042\u308b\u30dd\u30ea\u30b7\u30fc\u3084Node Object\u3092\u53c2\u7167\u3059\u308b\u305f\u3081\u306eChef-Zero\u3092\u8d77\u52d5\u3057\u3001ssh\u3067\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306b\u30ed\u30b0\u30a4\u30f3\u3059\u308b\u3068\u540c\u6642\u306bTCP\u30dd\u30fc\u30c8\u30d5\u30a9\u30ef\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u8a2d\u5b9a\u3057\u3001\u30ed\u30fc\u30ab\u30eb\u30db\u30b9\u30c8\u306eChef-Zero\u306b\u3042\u308b\u30dd\u30ea\u30b7\u30fc\u3092\u53c2\u7167\u3057\u3066\u53ce\u675f\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><img decoding=\"async\" src=\"\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-zero.png\" alt=\"knife-zero\"><\/p>\n<p>\u5927\u5909\u7c21\u5358\u306b\u8a00\u3046\u3068\u3001Knife-Zero\u306fChef-Client\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u500b\u5225\u306bChef-Server\u3092\u7acb\u3066\u305a\u3068\u3082\u3042\u305f\u304b\u3082Chef-Server\u304c\u5b58\u5728\u3059\u308b\u304b\u306e\u3088\u3046\u306b\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30fb\u30b5\u30fc\u30d0\u7684\u306b\u52d5\u4f5c\u3092\u884c\u3063\u3066\u3001\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306e\u53ce\u675f\u3092\u884c\u3046\u3082\u306e\u3067\u3059\u3002<\/p>\n<p>\u3067\u306f\u3001Knife-Zero\u306e\u4f8b\u3092\u3044\u304f\u3064\u304b\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\n<h2>\u4e0b\u6e96\u5099<\/h2>\n<p>\u30ef\u30fc\u30af\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3(<strong>ws.example.jp<\/strong>)\u3068\u3057\u3066\u5229\u7528\u3059\u308bUbuntu 12.04 LTS\u306bChef DK 0.3.2\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3082\u306e\u3068\u3001\u53ce\u675f\u5bfe\u8c61\u306e\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8(<strong>node.example.jp<\/strong>)\u3068\u3057\u3066\u5229\u7528\u3059\u308bUbuntu 12.04 LTS\u306e2\u53f0\u3092\u7528\u610f\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~$ sudo dpkg -i chefdk_0.3.2-1_amd64.deb\n\u4ee5\u524d\u306b\u672a\u9078\u629e\u306e\u30d1\u30c3\u30b1\u30fc\u30b8 chefdk \u3092\u9078\u629e\u3057\u3066\u3044\u307e\u3059\u3002\n(\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059 ... \u73fe\u5728 49086 \u500b\u306e\u30d5\u30a1\u30a4\u30eb\u3068\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3059\u3002)\n(chefdk_0.3.2-1_amd64.deb \u304b\u3089) chefdk \u3092\u5c55\u958b\u3057\u3066\u3044\u307e\u3059...\nchefdk (0.3.2-1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...\nThank you for installing Chef Development Kit!\nubuntu@ws:~$<\/pre>\n<p>\u30ef\u30fc\u30af\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u3067\u30d1\u30b9\u30d5\u30ec\u30fc\u30ba\u306a\u3057\u306eSSH\u9375\u30da\u30a2\u3092\u4f5c\u6210\u3057\u3001\u516c\u958b\u9375\u3092\u3042\u3089\u304b\u3058\u3081\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306b\u6e21\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~$ ssh-keygen -N ''\nGenerating public\/private rsa key pair.\nEnter file in which to save the key (\/home\/ubuntu\/.ssh\/id_rsa):\nCreated directory '\/home\/ubuntu\/.ssh'.\nYour identification has been saved in \/home\/ubuntu\/.ssh\/id_rsa.\nYour public key has been saved in \/home\/ubuntu\/.ssh\/id_rsa.pub.\nThe key fingerprint is:\n2e:51:77:b0:2e:6b:bd:14:a9:a6:cc:ef:65:27:82:53 ubuntu@ws.example.jp\nThe key's randomart image is:\n+--[ RSA 2048]----+\n|          .      |\n|           o     |\n|        . o .    |\n|       . o o     |\n|      . E +      |\n|       = = .     |\n|      + B * .    |\n|     o * = +     |\n|      +oo .      |\n+-----------------+\nubuntu@ws:~$<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@node:~$ mkdir .ssh\nubuntu@node:~$ cat &gt; .ssh\/authorized_keys\nssh-rsa (\u7701\u7565) ubuntu@ws.example.jp\nubuntu@node:~$<\/pre>\n<p>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306e\u30ed\u30b0\u30a4\u30f3\u30e6\u30fc\u30b6\u300c<strong>ubuntu<\/strong>\u300d\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u306a\u3057\u3067\u300c<strong>sudo<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u304c\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u30ef\u30fc\u30af\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u306b\u3066\u300c<strong>chef generate repo<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u3067<a href=\"http:\/\/docs.getchef.com\/essentials_repository.html\">chef-repo<\/a>\u3092\u4f5c\u6210\u3057\u3001\u4ee5\u964d\u306e\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3068\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~$ chef generate repo chef-repo\nCompiling Cookbooks...\nRecipe: code_generator::repo\n* directory[\/home\/ubuntu\/chef-repo] action create\n- create new directory \/home\/ubuntu\/chef-repo\n:\n:\n:\n(diff output suppressed by config)\nubuntu@ws:~$\n\nubuntu@ws:~$ tree -a chef-repo\nchef-repo\n\u251c\u2500\u2500 .gitignore\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 Rakefile\n\u251c\u2500\u2500 certificates\n\u2502 \u2514\u2500\u2500 README.md\n\u251c\u2500\u2500 chefignore\n\u251c\u2500\u2500 config\n\u2502 \u2514\u2500\u2500 rake.rb\n\u251c\u2500\u2500 cookbooks\n\u2502 \u2514\u2500\u2500 README.md\n\u251c\u2500\u2500 data_bags\n\u2502 \u2514\u2500\u2500 README.md\n\u251c\u2500\u2500 environments\n\u2502 \u2514\u2500\u2500 README.md\n\u2514\u2500\u2500 roles\n\u2514\u2500\u2500 README.md\n\n6 directories, 11 files\nubuntu@ws:~$<\/pre>\n<p>chef-repo\u306fgit\u7ba1\u7406\u4e0b\u306b\u7f6e\u3044\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002\u624b\u9806\u306f\u7279\u306b\u8a18\u8f09\u3057\u307e\u305b\u3093\u3002<a href=\"\/lab\/6265\">Chef Starter Kit\u306e\u6d3b\u7528<\/a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><a href=\"https:\/\/supermarket.getchef.com\/cookbooks\/ntp\">ntp<\/a> Cookbook\u3092\u4f8b\u3068\u3057\u3066\u7528\u3044\u307e\u3059\u3002\u306a\u304a\u3001\u4ee5\u964d\u300cWARNING: No knife configuration file found\u300d\u3068\u3044\u3046\u8b66\u544a\u304c\u983b\u51fa\u3057\u307e\u3059\u304c\u3001.chef\/knife.rb\u304c\u5b58\u5728\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u3067\u3059\u3002\u7701\u7565\u53ef\u80fd\u306a\u306e\u3067\u3001\u4eca\u56de\u306f\u7121\u8996\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife cookbook site install ntp -o cookbooks\nWARNING: No knife configuration file found\nInstalling ntp to \/home\/ubuntu\/chef-repo\/cookbooks\nChecking out the master branch.\nCreating pristine copy branch chef-vendor-ntp\nDownloading ntp from the cookbooks site at version 1.6.5 to \/home\/ubuntu\/chef-repo\/cookbooks\/ntp.tar.gz\nCookbook saved: \/home\/ubuntu\/chef-repo\/cookbooks\/ntp.tar.gz\nRemoving pre-existing version.\nUncompressing ntp version 1.6.5.\nremoving downloaded tarball\n1 files updated, committing changes\nCreating tag cookbook-site-imported-ntp-1.6.5\nChecking out the master branch.\nUpdating 4878097..b23a1b8\nFast-forward\n:\n:\n:\nCookbook ntp version 1.6.5 successfully installed\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u8a2d\u5b9a\u7528\u306eRole\u3092\u4f5c\u3063\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ vi roles\/ntp.json\n{\n&quot;json_class&quot;: &quot;Chef::Role&quot;,\n&quot;name&quot;: &quot;ntp&quot;,\n&quot;description&quot;: &quot;ntp basic&quot;,\n&quot;default_attributes&quot;: {\n&quot;ntp&quot;: {\n&quot;servers&quot;: [\n&quot;0.ubuntu.pool.ntp.org&quot;,\n&quot;1.ubuntu.pool.ntp.org&quot;,\n&quot;2.ubuntu.pool.ntp.org&quot;,\n&quot;3.ubuntu.pool.ntp.org&quot;\n]\n}\n},\n&quot;run_list&quot;: [\n&quot;recipe[ntp]&quot;\n]\n}\nubuntu@ws:~\/chef-repo$<\/pre>\n<h2>Knife-Solo\u306e\u5834\u5408<\/h2>\n<h3>Knife-Solo\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p>\u300c<strong>chef gem install<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u3067Knife-Solo\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ chef gem install knife-solo\nFetching: knife-solo-0.4.2.gem (100%)\nWARNING:  You don't have \/home\/ubuntu\/.chefdk\/gem\/ruby\/2.1.0\/bin in your PATH,\ngem executables will not run.\nThanks for installing knife-solo!\n\nIf you run into any issues please let us know at:\nhttps:\/\/github.com\/matschaffer\/knife-solo\/issues\n\nIf you are upgrading knife-solo please uninstall any old versions by\nrunning `gem clean knife-solo` to avoid any errors.\n\nSee http:\/\/bit.ly\/CHEF-3255 for more information on the knife bug\nthat causes this.\nSuccessfully installed knife-solo-0.4.2\nParsing documentation for knife-solo-0.4.2\nInstalling ri documentation for knife-solo-0.4.2\nDone installing documentation for knife-solo after 1 seconds\n1 gem installed\nubuntu@ws:~\/chef-repo$<\/pre>\n<h3>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306bChef-Solo\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p>\u300c<strong>knife solo prepare<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u3067\u3001\u6307\u5b9a\u306e\u30db\u30b9\u30c8\u306bChef-Client Omnibus\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife solo prepare node.example.jp\nWARNING: No knife configuration file found\nBootstrapping Chef...\n% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\nDload  Upload   Total   Spent    Left  Speed\n100 16472  100 16472    0     0  14504      0  0:00:01  0:00:01 --:--:-- 18570\nDownloading Chef 11.16.0 for ubuntu...\n:\n:\n:\nchef (11.16.0-1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...\nThank you for installing Chef!\nGenerating node config '.\/nodes\/node.example.jp.json'...\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306bChef-Client Omnibus\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3057\u305f\u3002\u540c\u6642\u306b\u3001\u30ef\u30fc\u30af\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u306e**nodes\/**\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30ce\u30fc\u30c9\u8a2d\u5b9a\u7528\u306eJSON\u30d5\u30a1\u30a4\u30eb\u304c\u751f\u6210\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ cat .\/nodes\/node.example.jp.json\n{\n&quot;run_list&quot;: [\n\n  ],\n&quot;automatic&quot;: {\n&quot;ipaddress&quot;: &quot;node.example.jp&quot;\n}\n}\nubuntu@ws:~\/chef-repo$<\/pre>\n<h3>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u3067Chef-Solo\u3092\u5b9f\u884c\u3057\u53ce\u675f\u3092\u884c\u3046<\/h3>\n<p>\u30ce\u30fc\u30c9\u8a2d\u5b9a\u7528\u306eJSON\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6\u3057\u3001run_list\u306b\u5148\u7a0b\u4f5c\u6210\u3057\u305fRole\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"diff\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ vi nodes\/node.example.jp.json\nubuntu@ws:~\/chef-repo$ git diff\ndiff --git a\/nodes\/node.example.jp.json b\/nodes\/node.example.jp.json\nindex cf38459..575ca94 100644\n--- a\/nodes\/node.example.jp.json\n+++ b\/nodes\/node.example.jp.json\n@@ -1,6 +1,6 @@\n{\n&quot;run_list&quot;: [\n-\n+    &quot;role[ntp]&quot;\n],\n&quot;automatic&quot;: {\n&quot;ipaddress&quot;: &quot;node.example.jp&quot;\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u300c<strong>knife solo cook<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u3067\u3001\u6307\u5b9a\u306e\u30db\u30b9\u30c8\u306bchef-repo\u3092\u8ee2\u9001\u3057\u3001\u6307\u5b9a\u306e\u30db\u30b9\u30c8\u3067chef-solo\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife solo cook node.example.jp\nWARNING: No knife configuration file found\nRunning Chef on node.example.jp...\nChecking Chef version...\nUploading the kitchen...\nGenerating solo config...\nRunning Chef...\n:\n:\n:\nStarting Chef Client, version 11.16.0\nCompiling Cookbooks...\nConverging 9 resources\nRecipe: ntp::default\n* package[ntp] action install\n- install version 1:4.2.6.p3+dfsg-1ubuntu3.1 of package ntp\n* package[ntpdate] action install (up to date)\n* directory[\/var\/lib\/ntp] action create (up to date)\n* directory[\/var\/log\/ntpstats\/] action create (up to date)\n* cookbook_file[\/etc\/ntp.leapseconds] action create\n- create new file \/etc\/ntp.leapseconds\n- update content in file \/etc\/ntp.leapseconds from none to 274665\n:\n:\n:\n- change mode from '' to '0644'\n- change owner from '' to 'root'\n- change group from '' to 'root'\nRecipe: ntp::apparmor\n* service[apparmor] action nothing (skipped due to action :nothing)\n* cookbook_file[\/etc\/apparmor.d\/usr.sbin.ntpd] action create\n- update content in file \/etc\/apparmor.d\/usr.sbin.ntpd from a88a6b to fdf13c\n:\n:\n:\nRecipe: ntp::default\n* template[\/etc\/ntp.conf] action create\n- update content in file \/etc\/ntp.conf from 4eb9a0 to 64d24c\n:\n:\n:\n* service[ntp] action enable (up to date)\n* service[ntp] action start (up to date)\nRecipe: ntp::apparmor\n* service[apparmor] action restart\n- restart service service[apparmor]\nRecipe: ntp::default\n* service[ntp] action restart\n- restart service service[ntp]\n\nRunning handlers:\nRunning handlers complete\nChef Client finished, 6\/11 resources updated in 14.870581634 seconds\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u9069\u7528\u3067\u304d\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ ssh node.example.jp ps auxwwwf | grep '[ n]tp'\nntp       9914  0.0  0.0  37780  2192 ?        Ss   16:52   0:00 \/usr\/sbin\/ntpd -p \/var\/run\/ntpd.pid -g -u 106:113\nubuntu@ws:~\/chef-repo$\n\nubuntu@ws:~\/chef-repo$ ssh node.example.jp grep pool.ntp.org \/etc\/ntp.conf\nserver 0.ubuntu.pool.ntp.org iburst\nrestrict 0.ubuntu.pool.ntp.org nomodify notrap noquery\nserver 1.ubuntu.pool.ntp.org iburst\nrestrict 1.ubuntu.pool.ntp.org nomodify notrap noquery\nserver 2.ubuntu.pool.ntp.org iburst\nrestrict 2.ubuntu.pool.ntp.org nomodify notrap noquery\nserver 3.ubuntu.pool.ntp.org iburst\nrestrict 3.ubuntu.pool.ntp.org nomodify notrap noquery\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u7121\u4e8b\u306b\u53ce\u675f\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306b\u8ee2\u9001\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ ssh node.example.jp tree -aF -L 2 chef-solo\nchef-solo\n\u251c\u2500\u2500 cookbooks-1\/\n\u2502   \u2514\u2500\u2500 chef-solo-search\/\n\u251c\u2500\u2500 cookbooks-2\/\n\u2502   \u251c\u2500\u2500 README.md\n\u2502   \u2514\u2500\u2500 ntp\/\n\u251c\u2500\u2500 data_bags\/\n\u2502   \u2514\u2500\u2500 README.md\n\u251c\u2500\u2500 dna.json\n\u251c\u2500\u2500 environments\/\n\u2502   \u2514\u2500\u2500 README.md\n\u251c\u2500\u2500 nodes\/\n\u2502   \u2514\u2500\u2500 node.example.jp.json\n\u251c\u2500\u2500 roles\/\n\u2502   \u251c\u2500\u2500 README.md\n\u2502   \u2514\u2500\u2500 ntp.json\n\u2514\u2500\u2500 solo.rb\n\n8 directories, 8 files\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u3053\u306e\u3088\u3046\u306b\u3001Knife-Solo\u3067\u306fchef-repo\u3092\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306brsync\u3067\u8ee2\u9001\u3057\u3001\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u3067Chef-Solo\u3092\u5b9f\u884c\u3059\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<br \/>\n\u306a\u304a\u3001\u3082\u3057\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306brsync\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001chef-repo\u306e\u8ee2\u9001\u306b\u5931\u6557\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife solo cook node.example.jp\nWARNING: No knife configuration file found\nRunning Chef on node.example.jp...\nChecking Chef version...\nUploading the kitchen...\nbash: rsync: \u30b3\u30de\u30f3\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\nrsync: connection unexpectedly closed (0 bytes received so far) [sender]\nrsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]\nERROR: RuntimeError: Failed to launch command [&quot;rsync&quot;, (\u5f8c\u7565)<\/pre>\n<h2>Knife-Zero\u306e\u5834\u5408<\/h2>\n<h3>\u4e0b\u6e96\u5099<\/h3>\n<p>Knife-Zero\u3067\u9069\u7528\u3059\u308b\u524d\u306b\u3001\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305fntp\u30d1\u30c3\u30b1\u30fc\u30b8\u3068chef\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304d\u307e\u3059\u3002\u6b8b\u3063\u3066\u3044\u3066\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u304c\u3001Knife-Zero\u306e\u52d5\u4f5c\u3092\u898b\u308b\u305f\u3081\u3067\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ ssh node.example.jp sudo apt-get purge ntp chef -y\n\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059...\n\u4f9d\u5b58\u95a2\u4fc2\u30c4\u30ea\u30fc\u3092\u4f5c\u6210\u3057\u3066\u3044\u307e\u3059...\n\u72b6\u614b\u60c5\u5831\u3092\u8aad\u307f\u53d6\u3063\u3066\u3044\u307e\u3059...\n\u4ee5\u4e0b\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u81ea\u52d5\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u3082\u3046\u5fc5\u8981\u3068\u3055\u308c\u3066\u3044\u307e\u305b\u3093:\nlibopts25 libcap2\n\u3053\u308c\u3089\u3092\u524a\u9664\u3059\u308b\u306b\u306f 'apt-get autoremove' \u3092\u5229\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\u4ee5\u4e0b\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u300c\u524a\u9664\u300d\u3055\u308c\u307e\u3059:\nchef* ntp*\n\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9: 0 \u500b\u3001\u65b0\u898f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb: 0 \u500b\u3001\u524a\u9664: 2 \u500b\u3001\u4fdd\u7559: 6 \u500b\u3002\n\u3053\u306e\u64cd\u4f5c\u5f8c\u306b 111MB \u306e\u30c7\u30a3\u30b9\u30af\u5bb9\u91cf\u304c\u89e3\u653e\u3055\u308c\u307e\u3059\u3002\n(\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059 ... \u73fe\u5728 61148 \u500b\u306e\u30d5\u30a1\u30a4\u30eb\u3068\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u307e\u3059\u3002)\nchef \u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059 ...\nchef \u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059 ...\nntp \u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059 ...\n* Stopping NTP server ntpd\n...done.\nntp \u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u3066\u3044\u307e\u3059 ...\nman-db \u306e\u30c8\u30ea\u30ac\u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059 ...\nureadahead \u306e\u30c8\u30ea\u30ac\u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059 ...\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>Knife-Solo\u306e\u5b9f\u884c\u3067\u751f\u6210\u3055\u308c\u305f\u30ce\u30fc\u30c9\u8a2d\u5b9a\u7528\u306eJSON\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ rm nodes\/node.example.jp.json\nubuntu@ws:~\/chef-repo$<\/pre>\n<h3>Knife-Zero\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p>\u300c<strong>chef gem install<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u3067Knife-Zero\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ chef gem install knife-zero\nFetching: knife-zero-1.0.0.gem (100%)\nWARNING:  You don't have \/home\/ubuntu\/.chefdk\/gem\/ruby\/2.1.0\/bin in your PATH,\ngem executables will not run.\nSuccessfully installed knife-zero-1.0.0\nParsing documentation for knife-zero-1.0.0\nInstalling ri documentation for knife-zero-1.0.0\nDone installing documentation for knife-zero after 0 seconds\n1 gem installed\nubuntu@ws:~\/chef-repo$<\/pre>\n<h3>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306bChef-Client\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p>\u300c<strong>knife zero bootstrap<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u3067\u3001\u6307\u5b9a\u306e\u30db\u30b9\u30c8\u306bChef-Client Omnibus\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\u300c<strong>-x<\/strong>\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u30ed\u30b0\u30a4\u30f3\u30e6\u30fc\u30b6\u3092\u6307\u5b9a\u3057\u3001\u300c<strong>--sudo<\/strong>\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3067sudo\u30b3\u30de\u30f3\u30c9\u3067root\u6a29\u9650\u3092\u5f97\u308b\u3053\u3068\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife zero bootstrap node.example.jp -x ubuntu --sudo\nWARNING: No knife configuration file found\nConnecting to node.example.jp\nnode.example.jp Installing Chef Client...\n:\n:\n:\nnode.example.jp chef (11.16.4-1) \u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059 ...\nnode.example.jp Thank you for installing Chef!\nnode.example.jp Starting first Chef Client run...\n:\n:\n:\nnode.example.jp Starting Chef Client, version 11.16.4\nnode.example.jp Creating a new client identity for node.example.jp using the validator key.\nnode.example.jp resolving cookbooks for run list: []\nnode.example.jp Synchronizing Cookbooks:\nnode.example.jp Compiling Cookbooks...\nnode.example.jp [2014-11-11T17:43:21+09:00] WARN: Node node.example.jp has an empty run list.\nnode.example.jp Converging 0 resources\nnode.example.jp\nnode.example.jp Running handlers:\nnode.example.jp Running handlers complete\nnode.example.jp Chef Client finished, 0\/0 resources updated in 1.116895026 seconds\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u306bChef-Client Omnibus\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3057\u305f\u3002\u540c\u6642\u306b\u3001q\u30ef\u30fc\u30af\u30b9\u30c6\u30fc\u30b7\u30e7\u30f3\u306e**nodes\/**\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u300c<a href=\"http:\/\/docs.getchef.com\/essentials_node_object.html\">Node Object<\/a>\u300d\u304c\u751f\u6210\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ ls -lF nodes\/\n\u5408\u8a08 32\n-rw-rw-r-- 1 ubuntu ubuntu 31250 11\u6708 11 17:43 node.example.jp.json\nubuntu@ws:~\/chef-repo$<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ view nodes\/node.example.jp.json\n{\n&quot;name&quot;: &quot;node.example.jp&quot;,\n&quot;normal&quot;: {\n&quot;tags&quot;: [\n\n]\n},\n&quot;automatic&quot;: {\n&quot;network&quot;: {\n&quot;interfaces&quot;: {\n&quot;lo&quot;: {\n&quot;mtu&quot;: &quot;16436&quot;,\n&quot;flags&quot;: [\n&quot;LOOPBACK&quot;,\n&quot;UP&quot;,\n&quot;LOWER_UP&quot;\n],\n:\n:\n:\n&quot;recipes&quot;: [\n\n],\n&quot;roles&quot;: [\n\n    ]\n}\n}\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u3053\u308c\u3089\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u30ed\u30fc\u30ab\u30eb\u30db\u30b9\u30c8\u3067\u5b9f\u884c\u3055\u308c\u305fChef-Zero\u30b5\u30fc\u30d0\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u305f\u3082\u306e\u3067\u3059\u3002Knife-Zero\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u30db\u30b9\u30c8\u3067\u5b9f\u884c\u3057\u305fChef-Zero\u30b5\u30fc\u30d0\u3068\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u3067\u5b9f\u884c\u3057\u305fChef-Client\u306e\u9593\u3092SSH\u30dd\u30fc\u30c8\u30d5\u30a9\u30ef\u30fc\u30c7\u30a3\u30f3\u30b0\u306b\u3088\u3063\u3066\u7d50\u3073\u3064\u3051\u308b\u3053\u3068\u3067\u3001\u3053\u306e\u6a5f\u80fd\u3092\u5b9f\u73fe\u3057\u3066\u3044\u307e\u3059\u3002Knife-Solo\u3068\u7570\u306a\u308a\u3001rsync\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u524d\u56de\u306e\u8a18\u4e8b\u300c<a href=\"\/lab\/6380\">Chef-Solo\u304b\u3089Chef-Client\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3078\u306e\u79fb\u884c<\/a>\u300d\u306b\u3042\u308b\u3088\u3046\u306b\u3001\u3053\u308c\u3089\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f<strong>knife<\/strong>\u306e\u30b5\u30d6\u30b3\u30de\u30f3\u30c9\u306b\u300c<strong>-z (--local-mode)<\/strong>\u300d\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4ed8\u4e0e\u3057\u3066\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001\u95b2\u89a7\u30fb\u64cd\u4f5c\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife client list -z\nWARNING: No knife configuration file found\nnode.example.jp\nubuntu@ws:~\/chef-repo$\n\nubuntu@ws:~\/chef-repo$ knife node list -z\nWARNING: No knife configuration file found\nnode.example.jp\nubuntu@ws:~\/chef-repo$<\/pre>\n<h3>\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u3067Chef-Client\u3092\u5b9f\u884c\u3057\u53ce\u675f\u3092\u884c\u3046<\/h3>\n<p>Knife-Solo\u3067\u8a2d\u5b9a\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u5909\u5316\u3092\u898b\u308b\u305f\u3081\u306b\u3001Role\u3092\u7de8\u96c6\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"diff\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ vi roles\/ntp.json\nubuntu@ws:~\/chef-repo$ git diff\ndiff --git a\/roles\/ntp.json b\/roles\/ntp.json\nindex 045d224..adbc3bc 100644\n--- a\/roles\/ntp.json\n+++ b\/roles\/ntp.json\n@@ -5,10 +5,10 @@\n&quot;default_attributes&quot;: {\n&quot;ntp&quot;: {\n&quot;servers&quot;: [\n-        &quot;0.ubuntu.pool.ntp.org&quot;,\n-        &quot;1.ubuntu.pool.ntp.org&quot;,\n-        &quot;2.ubuntu.pool.ntp.org&quot;,\n-        &quot;3.ubuntu.pool.ntp.org&quot;\n+        &quot;0.asia.pool.ntp.org&quot;,\n+        &quot;1.asia.pool.ntp.org&quot;,\n+        &quot;2.asia.pool.ntp.org&quot;,\n+        &quot;3.asia.pool.ntp.org&quot;\n]\n}\n},\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>knife\u30b3\u30de\u30f3\u30c9\u306e\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3067\u3001run_list\u306bRole\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife node run_list add node.example.jp 'role[ntp]' -z\nWARNING: No knife configuration file found\nnode.example.jp:\nrun_list: role[ntp]\nubuntu@ws:~\/chef-repo$<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"diff\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ git diff nodes\/node.example.jp.json\ndiff --git a\/nodes\/node.example.jp.json b\/nodes\/node.example.jp.json\nindex eb7f9b5..c3f0e8a 100644\n--- a\/nodes\/node.example.jp.json\n+++ b\/nodes\/node.example.jp.json\n@@ -1321,5 +1321,8 @@\n&quot;roles&quot;: [\n\n     ]\n-  }\n+  },\n+  &quot;run_list&quot;: [\n+    &quot;role[ntp]&quot;\n+  ]\n}\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>Node Object\u306b\u76f8\u5f53\u3059\u308bJSON\u30d5\u30a1\u30a4\u30eb\u3092\u30a8\u30c7\u30a3\u30bf\u3067\u76f4\u63a5\u7de8\u96c6\u3057\u3066\u3082\u69cb\u3044\u307e\u305b\u3093\u3002<\/p>\n<p>\u300c<strong>knife zero converge<\/strong>\u300d\u30b3\u30de\u30f3\u30c9\u3067\u3001\u6307\u5b9a\u306e\u30db\u30b9\u30c8\u3067Chef-Client\u3092\u5b9f\u884c\u3057\u3066\u53ce\u675f\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife zero converge 'name:node.example.jp' -x ubuntu --sudo\nWARNING: No knife configuration file found\nnode.example.jp [2014-11-11T18:23:06+09:00] WARN:\n:\n:\n:\nnode.example.jp Starting Chef Client, version 11.16.4\nnode.example.jp resolving cookbooks for run list: [&quot;ntp&quot;]\nnode.example.jp Synchronizing Cookbooks:\nnode.example.jp   - ntp\nnode.example.jp Compiling Cookbooks...\nnode.example.jp Converging 9 resources\nnode.example.jp Recipe: ntp::default\nnode.example.jp   * package[ntp] action install\nnode.example.jp     - install version 1:4.2.6.p3+dfsg-1ubuntu3.1 of package ntp\nnode.example.jp   * package[ntpdate] action install (up to date)\nnode.example.jp   * directory[\/var\/lib\/ntp] action create (up to date)\nnode.example.jp   * directory[\/var\/log\/ntpstats\/] action create (up to date)\nnode.example.jp   * cookbook_file[\/etc\/ntp.leapseconds] action create (up to date)\nnode.example.jp Recipe: ntp::apparmor\nnode.example.jp   * service[apparmor] action nothing (skipped due to action :nothing)\nnode.example.jp   * cookbook_file[\/etc\/apparmor.d\/usr.sbin.ntpd] action create\nnode.example.jp     - update content in file \/etc\/apparmor.d\/usr.sbin.ntpd from a88a6b to fdf13c\n:\n:\n:\nnode.example.jp Recipe: ntp::default\nnode.example.jp   * template[\/etc\/ntp.conf] action create\nnode.example.jp     - update content in file \/etc\/ntp.conf from 4eb9a0 to 565516\n:\n:\n:\nnode.example.jp   * service[ntp] action enable (up to date)\nnode.example.jp   * service[ntp] action start (up to date)\nnode.example.jp Recipe: ntp::apparmor\nnode.example.jp   * service[apparmor] action restart\nnode.example.jp     - restart service service[apparmor]\nnode.example.jp Recipe: ntp::default\nnode.example.jp   * service[ntp] action restart\nnode.example.jp     - restart service service[ntp]\nnode.example.jp\nnode.example.jp Running handlers:\nnode.example.jp Running handlers complete\nnode.example.jp Chef Client finished, 5\/11 resources updated in 10.573336982 seconds\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u9069\u7528\u3067\u304d\u305f\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife ssh 'name:node.example.jp' -z ps auxwwwf | grep '[ n]tp'\nWARNING: No knife configuration file found\nnode.example.jp ntp      24654  0.0  0.0  37780  2180 ?        Ss   18:23   0:00 \/usr\/sbin\/ntpd -p \/var\/run\/ntpd.pid -g -u 106:113\nubuntu@ws:~\/chef-repo$<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ knife ssh 'name:node.example.jp' -z grep pool.ntp.org \/etc\/ntp.conf\nWARNING: No knife configuration file found\nnode.example.jp server 0.asia.pool.ntp.org iburst\nnode.example.jp restrict 0.asia.pool.ntp.org nomodify notrap noquery\nnode.example.jp server 1.asia.pool.ntp.org iburst\nnode.example.jp restrict 1.asia.pool.ntp.org nomodify notrap noquery\nnode.example.jp server 2.asia.pool.ntp.org iburst\nnode.example.jp restrict 2.asia.pool.ntp.org nomodify notrap noquery\nnode.example.jp server 3.asia.pool.ntp.org iburst\nnode.example.jp restrict 3.asia.pool.ntp.org nomodify notrap noquery\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u7121\u4e8b\u306b\u53ce\u675f\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>chef-repo\u306eNode Object\u3082\u66f4\u65b0\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"diff\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ubuntu@ws:~\/chef-repo$ git diff\ndiff --git a\/nodes\/node.example.jp.json b\/nodes\/node.example.jp.json\nindex eb7f9b5..2cdb327 100644\n--- a\/nodes\/node.example.jp.json\n+++ b\/nodes\/node.example.jp.json\n@@ -5,6 +5,42 @@\n\n     ]\n},\n+  &quot;default&quot;: {\n+    &quot;ntp&quot;: {\n+      &quot;servers&quot;: [\n+        &quot;0.asia.pool.ntp.org&quot;,\n+        &quot;1.asia.pool.ntp.org&quot;,\n+        &quot;2.asia.pool.ntp.org&quot;,\n+        &quot;3.asia.pool.ntp.org&quot;\n+      ],\n:\n:\n:\n@@ -1316,10 +1365,15 @@\n}\n},\n&quot;recipes&quot;: [\n-\n+      &quot;ntp&quot;,\n+      &quot;ntp::default&quot;,\n+      &quot;ntp::apparmor&quot;\n],\n&quot;roles&quot;: [\n-\n+      &quot;ntp&quot;\n]\n-  }\n+  },\n+  &quot;run_list&quot;: [\n+    &quot;role[ntp]&quot;\n+  ]\n}\nubuntu@ws:~\/chef-repo$<\/pre>\n<p>\u3053\u306e\u3088\u3046\u306b\u3001Chef-Zero\u3092\u6d3b\u7528\u3057\u3066\u3042\u305f\u304b\u3082Chef-Server\u304c\u5b58\u5728\u3059\u308b\u304b\u306e\u3088\u3046\u306b\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u3067\u53ce\u675f\u304c\u884c\u3048\u307e\u3057\u305f\u3002knife zero converge\u306f<a href=\"https:\/\/docs.getchef.com\/essentials_search.html\">Search<\/a>\u6a5f\u80fd\u3092\u7528\u3044\u3066\u304a\u308a\u3001\u8907\u6570\u30db\u30b9\u30c8\u306b\u5bfe\u3057\u3066\u76f4\u5217\u30fb\u4e26\u5217\u3067\u53ce\u675f\u3055\u305b\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>Knife-Solo\u3068Knife-Zero\u306e\u6bd4\u8f03\u3068\u79fb\u884c\u3001\u5229\u7528\u65b9\u6cd5\u3092\u7c21\u5358\u306b\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002Knife-Zero\u306f\u3001Chef-Server\u3092\u7528\u3044\u305a\u3068\u3082Chef\u793e\u304c\u63a8\u5968\u3059\u308b\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u30fb\u30b5\u30fc\u30d0\u30e2\u30c7\u30eb\u3067Chef\u3092\u6271\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u5b9f\u969b\u306eChef-Server\u3078\u306e\u79fb\u884c\u3082\u6bd4\u8f03\u7684\u5bb9\u6613\u3067\u3059\u3002\u5c0f\u898f\u6a21\u3067\u306fKnife-Zero\u3084Hosted\u7248Enterprise Chef\u304b\u3089\u59cb\u3081\u3001\u898f\u6a21\u304c\u5927\u304d\u304f\u306a\u308b\u306b\u3064\u308c\u3066Hosted\u7248\/\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u7248Enterprise Chef\u3078\u79fb\u884c\u3059\u308b\u3068\u3044\u3046\u30b7\u30ca\u30ea\u30aa\u3082\u8003\u3048\u3089\u308c\u308b\u3067\u3057\u3087\u3046\u3002\u662f\u975e\u6d3b\u7528\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<hr>\n<ul>\n<li><a href=\"\/lab\/6380\">Chef-Solo\u304b\u3089Chef-Client\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3078\u306e\u79fb\u884c<\/a><\/li>\n<li><a href=\"\/lab\/6085\">[\u548c\u8a33] \u30bd\u30ed\u304b\u3089\u30bc\u30ed\u3078: Chef Client\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3078\u306e\u79fb\u884c<\/a><\/li>\n<li><a href=\"\/lab\/2749\">\u8efd\u91cf\u7c21\u6613Chef Server\u300cchef-zero\u300d\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u306f\u3058\u3081\u306b \u524d\u56de\u306fChef-Solo\u3068Chef-Client\u30ed\u30fc\u30ab\u30eb\u30e2\u30fc\u30c9\u3092\u6bd4\u8f03\u3057\u3001\u30ed\u30fc\u30ab\u30eb\u30db\u30b9\u30c8\u306e\u53ce\u675f\u3092\u884c\u3044\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u30ea\u30e2\u30fc\u30c8\u30db\u30b9\u30c8\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306eKnife-Solo\u3068Knife-Zero\u3092\u6bd4\u8f03\u3057\u3066\u307f\u307e\u3059\u3002 Kni [&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":6402,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[36,31],"tags":[],"class_list":["post-6401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chef","category-higuchi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"Chef, d-higuchi |\u306f\u3058\u3081\u306b\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"Chef, d-higuchi |\u306f\u3058\u3081\u306b\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-14T02:30:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-27T12:52:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-solo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"403\" \/>\n\t<meta property=\"og:image:height\" content=\"303\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daisuke Higuchi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creationline\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daisuke Higuchi\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401\"},\"author\":{\"name\":\"Daisuke Higuchi\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\"},\"headline\":\"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef\",\"datePublished\":\"2014-11-14T02:30:08+00:00\",\"dateModified\":\"2026-05-27T12:52:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401\"},\"wordCount\":178,\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/knife-solo.png\",\"articleSection\":[\"Chef\",\"d-higuchi\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401\",\"name\":\"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/knife-solo.png\",\"datePublished\":\"2014-11-14T02:30:08+00:00\",\"dateModified\":\"2026-05-27T12:52:32+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\"},\"description\":\"Chef, d-higuchi |\u306f\u3058\u3081\u306b\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401#primaryimage\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/knife-solo.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2014\\\/11\\\/knife-solo.png\",\"width\":403,\"height\":303},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\\\/6401#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Chef\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cloudnative\\\/chef\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\",\"name\":\"Daisuke Higuchi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/pngout-25-230x230.png\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/pngout-25-230x230.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/pngout-25-230x230.png\",\"caption\":\"Daisuke Higuchi\"},\"description\":\"\u306f\u3084\u308a\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"Chef, d-higuchi |\u306f\u3058\u3081\u306b","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401","og_locale":"ja_JP","og_type":"article","og_title":"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"Chef, d-higuchi |\u306f\u3058\u3081\u306b","og_url":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2014-11-14T02:30:08+00:00","article_modified_time":"2026-05-27T12:52:32+00:00","og_image":[{"width":403,"height":303,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-solo.png","type":"image\/png"}],"author":"Daisuke Higuchi","twitter_card":"summary_large_image","twitter_creator":"@creationline","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"Daisuke Higuchi","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"12\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401"},"author":{"name":"Daisuke Higuchi","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"headline":"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef","datePublished":"2014-11-14T02:30:08+00:00","dateModified":"2026-05-27T12:52:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401"},"wordCount":178,"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-solo.png","articleSection":["Chef","d-higuchi"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401","url":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401","name":"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401#primaryimage"},"image":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401#primaryimage"},"thumbnailUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-solo.png","datePublished":"2014-11-14T02:30:08+00:00","dateModified":"2026-05-27T12:52:32+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"description":"Chef, d-higuchi |\u306f\u3058\u3081\u306b","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401#primaryimage","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-solo.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2014\/11\/knife-solo.png","width":403,"height":303},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\/6401#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6","item":"https:\/\/www.creationline.com\/tech-blog\/cloudnative"},{"@type":"ListItem","position":3,"name":"Chef","item":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef"},{"@type":"ListItem","position":4,"name":"Knife-Solo\u304b\u3089Knife-Zero\u3078\u306e\u79fb\u884c #getchef"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206","name":"Daisuke Higuchi","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/05\/pngout-25-230x230.png","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/05\/pngout-25-230x230.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/05\/pngout-25-230x230.png","caption":"Daisuke Higuchi"},"description":"\u306f\u3084\u308a\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002","url":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/6401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=6401"}],"version-history":[{"count":2,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/6401\/revisions"}],"predecessor-version":[{"id":83907,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/6401\/revisions\/83907"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media\/6402"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=6401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=6401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=6401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}