Puppet facter 無法正確抓到 Ubuntu Container 的 OS 資訊

栏目: 服务器 · 发布时间: 6年前

内容简介:今天有同事回報在使用 Puppet 做模擬 LAB 的時候,一直出現 OS 版本判別錯誤的問題,安裝 Ubuntu container 卻判定為 Debian,然後少了許多 metadata 可以使用 …嘗試在 Production 環境測試沒有沒有遇到問題,也在 Vagrant 上跑過。只好找工程師的好朋友 Google 一下,果然馬上就找到

今天有同事回報在使用 Puppet 做模擬 LAB 的時候,一直出現 OS 版本判別錯誤的問題,安裝 Ubuntu container 卻判定為 Debian,然後少了許多 metadata 可以使用 …

嘗試在 Production 環境測試沒有沒有遇到問題,也在 Vagrant 上跑過。

只好找工程師的好朋友 Google 一下,果然馬上就找到 Puppet ticketIncorrectly detects OS in docker container 」有相同的狀況

When running in a Docker container, facter incorrectly reports the OS.
To reproduce this, start a docker container with the “ubuntu” image, install Facter from the Puppet repository, run “puppet os” and notice it is reported as “Debian”.

這時才想到,Puppet 用來判別版本的資訊其中有包含 lsb-release 這個 package … 而 Container 的特點就是 “什麼都沒有” 所以能抓到的資訊自然就少了很多。

解決方法很簡單,就是安裝 lsb-release,讓環境有 lsb_release 這個 command

$ sudo apt-get install lsb-release

就正常了 …

不過 Puppet 有把該問題列為 bug 並且提出應該要使用 os-release 作為參考依據才對,所以之後要參考 OS 資訊的人可以往這個方向找問題

$ cat /etc/os-release
 
NAME="Ubuntu"
VERSION="16.04.5 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.5 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

以上所述就是小编给大家介绍的《Puppet facter 無法正確抓到 Ubuntu Container 的 OS 資訊》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Distributed Algorithms

Distributed Algorithms

Nancy A. Lynch / Morgan Kaufmann / 1996-3-15 / USD 155.00

In "Distributed Algorithms", Nancy Lynch provides a blueprint for designing, implementing, and analyzing distributed algorithms. She directs her book at a wide audience, including students, programmer......一起来看看 《Distributed Algorithms》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试