2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linode CLI のインストール

Last updated at Posted at 2022-08-22

Linodeとは

Linode (https://www.linode.com/) は Akamaiが提供するIaaS (Infrastructure as a Service) プラットフォームプロバイダーのサービスです。リノードと発音します。
Akamaiは2022年2月にLinode社の買収を発表しました。
https://www.akamai.com/ja/newsroom/press-release/akamai-to-acquire-linode
クラウドコンピューティングをよりシンプルに、手頃な価格で、誰もが利用できるようにすることで、イノベーションを加速することができます。
https://www.linode.com/ja/alternative-cloud-provider/

Linode CLI とは

Linodeコマンドラインインターフェース(Linode CLI)は、LinodeがGUIベースで標準的に提供している各種の管理サービスをCLIベースで管理するためのツールです。コマンドラインからLinodeの複数サービスを制御、操作し、スクリプトなどを利用して自動化することができます。

Linode CLI インストール

こちらを参考にCLIをインストールします。

pip3コマンドにてlinode-cliとObject Storageを扱う際に利用するbotoをインストールします。

pip3 install linode-cli --upgrade
pip3 install boto

インストールが完了したら、help等が表示されるか確認します。

linode-cli --help

Linode CLIにて利用するアクセスキーの設定を行います。
linode-cli configureを利用することで、アクセスキーの作成と登録まで一括で行うことができます。

$  linode-cli configure

Welcome to the Linode CLI.  This will walk you through some initial setup.

The CLI will use its web-based authentication to log you in.  If you prefer to supply a Personal Access Token, use `linode-cli configure --token`.

Press enter to continue.  This will open a browser and proceed with authentication.
# Enterキーを押してブラウザを開き、Linodeへアクセスします。

A browser should open directing you to this URL to authenticate:

https://login.linode.com/oauth/xxxxxxxxxxxxxxxxxxxxxxxx
# 自動的にブラウザが開かない場合、上記URLにアクセスして認証を行います。

If you are not automatically directed there, please copy/paste the link into your browser
to continue..


Configuring xxxxx


Default Region for operations.  Choices are:
 1 - ap-west
 2 - ca-central
 3 - ap-southeast
 4 - us-central
 5 - us-west
 6 - us-southeast
 7 - us-east
 8 - eu-west
 9 - ap-south
 10 - eu-central
 11 - ap-northeast

Default Region (Optional): 11 #日本にしたいので11

Default Type of Linode to deploy.  Choices are:
 1 - g6-nanode-1
 2 - g6-standard-1
 3 - g6-standard-2
 4 - g6-standard-4
 5 - g6-standard-6
 6 - g6-standard-8
 7 - g6-standard-16
 8 - g6-standard-20
 9 - g6-standard-24
 10 - g6-standard-32
 11 - g7-highmem-1
 12 - g7-highmem-2
 13 - g7-highmem-4
 14 - g7-highmem-8
 15 - g7-highmem-16
 16 - g6-dedicated-2
 17 - g6-dedicated-4
 18 - g6-dedicated-8
 19 - g6-dedicated-16
 20 - g6-dedicated-32
 21 - g6-dedicated-48
 22 - g6-dedicated-50
 23 - g6-dedicated-56
 24 - g6-dedicated-64
 25 - g1-gpu-rtx6000-1
 26 - g1-gpu-rtx6000-2
 27 - g1-gpu-rtx6000-3
 28 - g1-gpu-rtx6000-4

Default Type of Linode (Optional): 1 #最小インスタンスをデフォルトとしたいので1

Default Image to deploy to new Linodes.  Choices are:
 1 - linode/almalinux8
 2 - linode/almalinux9
 3 - linode/alpine3.12
 4 - linode/alpine3.13
 5 - linode/alpine3.14
 6 - linode/alpine3.15
 7 - linode/alpine3.16
 8 - linode/arch
 9 - linode/centos7
 10 - linode/centos-stream8
 11 - linode/centos-stream9
 12 - linode/debian10
 13 - linode/debian11
 14 - linode/debian9
 15 - linode/fedora34
 16 - linode/fedora35
 17 - linode/fedora36
 18 - linode/gentoo
 19 - linode/kali
 20 - linode/debian11-kube-v1.20.15
 21 - linode/debian9-kube-v1.20.7
 22 - linode/debian9-kube-v1.21.1
 23 - linode/debian11-kube-v1.21.12
 24 - linode/debian9-kube-v1.22.2
 25 - linode/debian11-kube-v1.22.9
 26 - linode/debian11-kube-v1.23.6
 27 - linode/opensuse15.3
 28 - linode/opensuse15.4
 29 - linode/rocky8
 30 - linode/rocky9
 31 - linode/slackware14.2
 32 - linode/slackware15.0
 33 - linode/ubuntu16.04lts
 34 - linode/ubuntu18.04
 35 - linode/ubuntu20.04
 36 - linode/ubuntu21.10
 37 - linode/ubuntu22.04
 38 - linode/centos8
 39 - linode/slackware14.1
 40 - linode/ubuntu21.04

Default Image (Optional): 37 # Ubuntuをデフォルトにしたいので37
Active user will remain 

Config written to /Users/xxxxx/.config/linode-cli #Configの保存先

インストールは以上で完了です。

Linode CLI を使ってみる

Linode CLIでは様々な操作をコマンドラインインターフェースにて扱うことができます。
実際にいくつかのコマンドを実行してみて、出力を確認します。

Linodeのインスタンスの一覧を取得

linode-cli linodes list

┌──────────┬────────────────────┬────────────┬───────────────┬───────────────────────┬─────────┬───────────────────┐
│ id       │ label              │ region     │ type          │ image                 │ status  │ ipv4              │
├──────────┼────────────────────┼────────────┼───────────────┼───────────────────────┼─────────┼───────────────────┤
│ 00000001 │ example-instance   │ us-east    │ g6-standard-1 │ linode/ubuntu18.04    │ running │ 192.0.2.42         │
│ 00001111 │ centos-us-east     │ us-east    │ g6-nanode-1   │ linode/centos-stream9 │ running │ 192.0.2.108       │
└──────────┴────────────────────┴────────────┴───────────────┴───────────────────────┴─────────┴───────────────────┘

Linodeの各リージョン情報の取得

linode-cli regions list

┌──────────────┬─────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────┐
│ id           │ country │ capabilities                                                                                                                                            │ status │
├──────────────┼─────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────┤
│ ap-west      │ in      │ Linodes, NodeBalancers, Block Storage, GPU Linodes, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases                      │ ok     │
│ ca-central   │ ca      │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases                                   │ ok     │
│ ap-southeast │ au      │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases                                   │ ok     │
│ us-central   │ us      │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases                                          │ ok     │
│ us-west      │ us      │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases                                          │ ok     │
│ us-southeast │ us      │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases      │ ok     │
│ us-east      │ us      │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Bare Metal, Block Storage Migrations, Managed Databases │ ok     │
│ eu-west      │ uk      │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases                                          │ ok     │
│ ap-south     │ sg      │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases             │ ok     │
│ eu-central   │ de      │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases             │ ok     │
│ ap-northeast │ jp      │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases                                          │ ok     │
└──────────────┴─────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────┘

Linode Object Storageのリージョン情報を取得し、JSONで出力

linode-cli object-storage clusters-list --json | jq

[
  {
    "id": "us-east-1",
    "region": "us-east",
    "status": "available",
    "domain": "us-east-1.linodeobjects.com",
    "static_site_domain": "website-us-east-1.linodeobjects.com"
  },
  {
    "id": "eu-central-1",
    "region": "eu-central",
    "status": "available",
    "domain": "eu-central-1.linodeobjects.com",
    "static_site_domain": "website-eu-central-1.linodeobjects.com"
  },
  {
    "id": "ap-south-1",
    "region": "ap-south",
    "status": "available",
    "domain": "ap-south-1.linodeobjects.com",
    "static_site_domain": "website-ap-south-1.linodeobjects.com"
  },
  {
    "id": "us-southeast-1",
    "region": "us-southeast",
    "status": "available",
    "domain": "us-southeast-1.linodeobjects.com",
    "static_site_domain": "website-us-southeast-1.linodeobjects.com"
  }
]

その他のCLIでの操作について

CLIでは様々な操作コマンドを用意しています。
以下に参考になるドキュメントリンクをまとめました。

CLIによるインスタンスの操作
https://www.linode.com/docs/products/tools/cli/guides/linode-instances/

CLIによるObject Storageの操作
https://www.linode.com/docs/products/tools/cli/guides/object-storage/

CLIによるNode Balancersの操作
https://www.linode.com/docs/products/tools/cli/guides/nodebalancers/

CLIによるLinode DNSの操作
https://www.linode.com/docs/products/tools/cli/guides/domains/

CLIによるLinode Kubernetes Engineの操作
https://www.linode.com/docs/products/tools/cli/guides/linode-kubernetes-engine/

CLIによるアカウントの操作
https://www.linode.com/docs/products/tools/cli/guides/account/

CLIによるサポートチケットの操作
https://www.linode.com/docs/products/tools/cli/guides/support-tickets/

まとめ

Linode CLIを活用することで、簡易的な操作をコマンドラインインターフェースで実行できるだけなく、
スクリプトにも組み込むことで、自動化も行うことができるようになります。
ぜひ、Linode CLIを活用してみてください。

関連記事

アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?