pikesaku’s blog

個人的なプログラム勉強メモです。記載内容について一切の責任は持ちません。

Ubuntuパッケージ管理メモ

software-properties-commonとは?

 
apt-add-repository(レポジトリを追加するコマンド)を含むパッケージ
 
  
ubuntuのリリースは以下URLで確認可能
http://releases.ubuntu.com
 
17.10はArtful
17.04はZesty
16.04.3はXenial
 
 

参照するレポジトリの確認

 

apt-cache policy

 
 

Ubuntuのレポジトリの考え方

 
レポジトリは以下4種類に分類される。
What is the difference between security, updates, proposed and backports in /etc/apt/apt.conf.d/50unattended-upgrades? - Ask Ubuntu
UbuntuUpdates - Community Help Wiki
 

種類 説明 推奨
Security セキュリティ修正 推奨
Updates 該当アプリレベル修正・他ソフト互換性に影響なし 推奨
Proposed テスト段階の修正(Updatesへ以降する前)・他ソフト互換性に影響あり 非推奨
Backports 最新メジャーリリースの修正含む・他ソフト互換性に影響あり 非推奨

 
 
さらに各レポジトリは以下のタイプに分かれる。
Repositories/Ubuntu - Community Help Wiki
 

タイプ 説明
Main CaonicalがサポートするOSS
Universe コミュニティがサポートするOSS
Restricted OSSでないデバイスドライバ
Multiverse OSSでないソフトウェア

 
※proprietryは「独占的な」も意味。Open対義語
 
インストールCDには、「main」と「Restricted」が含まれる。
 
レポジトリ格納サイトは以下
Index of /ubuntu/dists
 
 

レポジトリ管理

 
Repositories/CommandLine - Community Help Wiki
 
参照するリポジトリは以下で定義

/etc/apt/sources.list
/etc/apt/sources.list.d/

 
定義方法の例

deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted
deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted

 
各項目の意味は以下の通り

項目 説明
deb バイナリパッケージを含むレポジトリの意味
deb-src ソースコードを含むレポジトリの意味
http://~ レポジトリのURI
saucy リリース名
mainとrestricted レオジトリの種類 スペース区切りで複数指定可能

 
以下にUbuntuオフィシャルミラーレポジトリの情報あり
Mirrors : Ubuntu
 
 

OpenStackレポジトリ

 
Pikeレポジトリ有効化は以下コマンド

add-apt-repository cloud-archive:pike

 
https://wiki.ubuntu.com/OpenStack/CloudArchive

JUJU/MAASでOpenStack構築メモ

構成メモ

 
サーバは3台用意
MAASサーバ1台(Ubuntu16.04LTS)
KVMサーバ2台(CentOS7)
MAASにKVMホストを2台登録して使う
KVM1号機上のVM1台をJUJUコントローラにする
KVM2号機上のVM1台をOpenStackコンポーネント展開するLXDサーバにする
 

メモ

OSインストール時にMAASインストール可能
f:id:pikesaku:20171202213618p:plain
 
しかしインストーラの処理中にエラーになる。。。 
(ubuntu-16.04.3-server-amd64.isoで確認)
大人しくOSインストールしてからMAASパッケージを入れる。
 

手順

KVMサーバ構築手順は省略。以下作業は明示的に指定がない限りMAASサーバで実施
※ MAASでデプロイした仮想マシンはaptを実行する為、プロキシ設定しない場合は、仮想マシンがインターネットに接続できる必要あり
KVM・MAASは時刻同期できている状態であること
 

1. OSインストール & 基本設定

2. パッケージアップデート

sudo apt update && sudo apt full-upgrade

3. MAASインストール

sudo apt install maas

4. MAAS管理者アカウント作成

sudo maas createadmin

※鍵のインポートはここではしない
※管理者アカウントはmadminで作成
 

5. libvirt-binインストール

sudo apt install libvirt-bin

6. KVMサーバへのvirsh接続設定

sudo chsh -s /bin/bash maas
sudo su - maas
ssh-keygen -f ~/.ssh/id_rsa -N ''
ssh-copy-id -i ~/.ssh/id_rsa root@KVM1号機IP
ssh-copy-id -i ~/.ssh/id_rsa root@KVM2号機IP
virsh -c qemu+ssh://root@KVM1号機IP/system list --all
virsh -c qemu+ssh://root@KVM2号機IP/system list --all

7. JUJUコントローラ用VM作成

Virt-managerで以下仮想マシン作成
TYEP: Linux-Ubuntu16.04LTS
NIC: 2個
vCPU: 2個
MEM: 8GB
Boot OptionでMAAS DHCPが動くNWに接続したNICを一番上にする

9. MAAS管理Web画面にログインし各種設定

192.168.0.100:5240/MAAS/.

【鍵登録】
MAASサーバでssh-keygetコマンド実行し公開鍵を登録
 
DHCP有効化】
"Subnet"タブ→Fabric(NW)一覧表示→DHCP動かすFabricの"VLAN"クリック→右上"Take action"より"Provider DHCP"をクリックして設定
 
KVMサーバのPOD登録】
PODタブより追加。
※公開鍵認証設定済みなのでパスワードは入れない。
※追加後、KVMサーバ上のVMが起動しNode登録コミッション処理が動く。Network Bootに失敗してたら対処必要。 
【JUJU/OpenStackサーバ作成】
KVM仮想マシンとして作成
 
【コミッション】
POD→KVMサーバ→Take ActionよりRefreshを押す
これで、仮想マシンがコミッションされる。
※それぞれ"juju"と"openstack"のタグをつける

8. JUJUクライアントインストール & セットアップ

MAASサーバにインストールする

sudo add-apt-repository -u ppa:juju/stable
sudo apt install juju

 
MAASエンドポイント認証キーの取得
MAASにログインし右上"madmin"をクリック
 
クラウド登録

juju add-cloud mymaas

以下を指定
"maas"
"http://MAAS_IPアドレス:5240/MAAS/"
 
DNSサーバ等
MAASがDNSになる。ここで設定するのはMAASのForwarder先のDNSサーバ。
DNSSECに対応している必要があり。
 
資格情報設定

juju add-credential mymaas

以下を指定 
"madmin"
エンドポイント認証キー
 

JUJUコントローラーデプロイ

juju bootstrap --constraints tags=juju mymaas maas-controller

 
※jujuコマンド
利用可能クラウド出力

juju clouds

 
資格情報出力

juju credentials

デプロイノード出力

juju status

 
コントローラの再デプロイ

juju kill-controller maas-controller
juju bootstrap --constraints tags=juju maas maas-controller

 

モデル作成

 
モデルはアプリケーションの入れ物
jujuコントローラはdefaultモデルに作成されている
OpenStack用のモデルを別に作る(管理・保守性がよくなる)
 

juju add-model uos

上記でuosモデルにスイッチされる
 

JUJU/MAASメモ

参考URL

 
OpenStack Docs: Install MAAS
 
最近のJuju/MAASについて 〜 15分版 - OpenStack最新情報セミナー 2017年11月
 
What is MAAS? | MAAS documentation
 
Getting started with Juju | Documentation | Juju

Concepts and Terms | MAAS documentation
Google 翻訳
 
Juju Manual Cloud で OpenStack 環境構築
→マニュアルクラウドという形態もあり。
 マニュアルクラウドとは?
 MAASなしで使える。
 SSHで管理可能なノードを登録して利用。
 jujuコントローラ(bootstrap)を作る時に、manualを指定する。

crudiniメモ

設定ファイル編集だけでなく有効パラメタ出力も可能

 
出力フォーマットは3種類
 

①ini

# crudini --get --format=ini /etc/keystone/keystone.conf |head -5
[DEFAULT]
[assignment]
[auth]
[cache]
[catalog]
#

 

②sh

# crudini --get --format=sh /etc/keystone/keystone.conf |head -5
DEFAULT
assignment
auth
cache
catalog
#

 

③lines

[ DEFAULT ] log_dir = /var/log/keystone
[ assignment ]
[ auth ]
[ cache ]
[ catalog ]
#

OpenStackネットワーク設定メモ

第2章 OpenStack Networking の概念 - Red Hat Customer Portal
 
https://docs.openstack.org/liberty/ja/networking-guide/scenario-classic-ovs.html
 
各ノードに対し、どのパラメタを設定すればよいのか?についての情報があるかも。。。

OpenStack冗長化メモ

https://access.redhat.com/sites/default/files/attachments/rhelosp4_ha_final_0.pdf

OpenStack API以外のサービスはcloneセットがほとんどで、単純にマルチノードで実行すれば良い。

OpenStackが使うポート

Appendix B. Firewalls and default ports - OpenStack Configuration Reference - kilo