0
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.

OCIコンピュートインスタンスの初期設定(OKEのクライアント用)

Last updated at Posted at 2022-09-19

はじめに

OKE(Oralce Container Engine for Kubernetes)のクライアントとして、OCIのコンピュートインスタンスをセットアップした時の備忘録です。
OSはOracle Linux 8.6です。

$ cat /etc/oracle-release
Oracle Linux Server release 8.6

Dockerのインストール

DockerのインストールスクリプトはOracle Linuxに対応してないので、使えませんでした。

$ curl -fsSL get.docker.com -o get-docker.sh
$ ls -l
total 20
-rw-rw-r--. 1 opc opc 19873 Sep 19 06:37 get-docker.sh
$ sh get-docker.sh
# Executing docker install script, commit: 4f282167c425347a931ccfd95cc91fab041d414f

ERROR: Unsupported distribution 'ol'

こちらを参考に個別にインストールします。
https://zenn.dev/kyami/articles/15185192395cb7

パッケージのアップデート

$ sudo yum update -y
$ sudo yum upgrade -y

リポジトリの設定

$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

Dockerのインストール

$ sudo dnf install -y docker-ce --nobest
Docker CE Stable - x86_64                                                                                                                                  258 kB/s |  27 kB     00:00
Dependencies resolved.

・・・

Installed:
  container-selinux-2:2.188.0-1.module+el8.6.0+20721+d8d917a9.noarch   containerd.io-1.6.8-3.1.el8.x86_64                          docker-ce-3:20.10.18-3.el8.x86_64
  docker-ce-cli-1:20.10.18-3.el8.x86_64                                docker-ce-rootless-extras-20.10.18-3.el8.x86_64             docker-scan-plugin-0.17.0-3.el8.x86_64
  fuse-common-3.3.0-15.0.2.el8.x86_64                                  fuse-overlayfs-1.9-1.module+el8.6.0+20721+d8d917a9.x86_64   fuse3-3.3.0-15.0.2.el8.x86_64
  fuse3-libs-3.3.0-15.0.2.el8.x86_64                                   libcgroup-0.41-19.el8.x86_64                                libslirp-4.4.0-1.module+el8.6.0+20721+d8d917a9.x86_64
  slirp4netns-1.2.0-2.module+el8.6.0+20721+d8d917a9.x86_64

Complete!

サービスの起動

$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://docs.docker.com
$ sudo systemctl start docker
$ systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-09-19 06:54:20 GMT; 13s ago
     Docs: https://docs.docker.com
 Main PID: 66879 (dockerd)
    Tasks: 8
   Memory: 29.2M
   CGroup: /system.slice/docker.service
           mq66879 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

・・・

$ sudo systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
$ systemctl is-enabled docker
enabled

確認

$ sudo docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.9.1-docker)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.18
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: false
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.4.17-2136.310.7.1.el8uek.x86_64
 Operating System: Oracle Linux Server 8.6
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 15.22GiB
 Name: osk-instance01
 ID: DDLQ:5JDY:M5HU:YRZS:VODA:EB5C:7UVS:TIX4:JJEK:AV3F:VXAY:ASPC
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
$ docker --version
Docker version 20.10.18, build b40c2f6

以下のコマンドを実行し、一般ユーザ(opc)でDockerコマンドを実行できるようにする。

sudo usermod -aG docker opc

いったんログアウトして再度ログインする。

Gitのインストール

$ sudo yum install git-all -y
Last metadata expiration check: 0:12:13 ago on Mon 19 Sep 2022 06:47:11 AM GMT.
Dependencies resolved.

・・・

Installed:
  apr-1.6.3-12.el8.x86_64                                                                        apr-util-1.6.1-6.el8.x86_64
  git-2.31.1-2.el8.x86_64                                                                        git-all-2.31.1-2.el8.noarch
  git-core-2.31.1-2.el8.x86_64                                                                   git-core-doc-2.31.1-2.el8.noarch
  git-credential-libsecret-2.31.1-2.el8.x86_64                                                   git-daemon-2.31.1-2.el8.x86_64
  git-email-2.31.1-2.el8.noarch                                                                  git-gui-2.31.1-2.el8.noarch
  git-instaweb-2.31.1-2.el8.noarch                                                               git-subtree-2.31.1-2.el8.x86_64
  git-svn-2.31.1-2.el8.noarch                                                                    gitk-2.31.1-2.el8.noarch
  gitweb-2.31.1-2.el8.noarch                                                                     httpd-2.4.37-47.0.2.module+el8.6.0+20724+119b489d.2.x86_64
  httpd-filesystem-2.4.37-47.0.2.module+el8.6.0+20724+119b489d.2.noarch                          httpd-tools-2.4.37-47.0.2.module+el8.6.0+20724+119b489d.2.x86_64
  libXft-2.3.3-1.el8.x86_64                                                                      libserf-1.3.9-9.module+el8.3.0+7671+a87d5147.x86_64
  mod_http2-1.15.7-5.module+el8.6.0+20548+01710940.x86_64                                        oracle-logos-httpd-84.5-1.0.1.el8.noarch
  perl-Authen-SASL-2.16-13.el8.noarch                                                            perl-CGI-4.38-2.el8.noarch
  perl-Compress-Raw-Bzip2-2.081-1.el8.x86_64                                                     perl-Compress-Raw-Zlib-2.081-1.el8.x86_64
  perl-Data-Dumper-2.167-399.el8.x86_64                                                          perl-Digest-1.17-395.el8.noarch
  perl-Digest-HMAC-1.03-17.module+el8.3.0+7692+542c56f9.noarch                                   perl-Digest-MD5-2.55-396.el8.x86_64
  perl-Digest-SHA-1:6.02-1.el8.x86_64                                                            perl-Encode-Locale-1.05-10.module+el8.3.0+7692+542c56f9.noarch
  perl-Error-1:0.17025-2.el8.noarch                                                              perl-GSSAPI-0.28-25.el8.x86_64
  perl-Git-2.31.1-2.el8.noarch                                                                   perl-Git-SVN-2.31.1-2.el8.noarch
  perl-HTML-Parser-3.72-15.module+el8.3.0+7692+542c56f9.x86_64                                   perl-HTML-Tagset-3.20-34.module+el8.3.0+7692+542c56f9.noarch
  perl-HTTP-Date-6.02-19.module+el8.3.0+7692+542c56f9.noarch                                     perl-HTTP-Message-6.18-1.module+el8.3.0+7692+542c56f9.noarch
  perl-IO-Compress-2.081-1.el8.noarch                                                            perl-IO-HTML-1.001-11.module+el8.3.0+7692+542c56f9.noarch
  perl-IO-Socket-IP-0.39-5.el8.noarch                                                            perl-IO-Socket-SSL-2.066-4.module+el8.6.0+20623+f0897f98.noarch
  perl-LWP-MediaTypes-6.02-15.module+el8.3.0+7692+542c56f9.noarch                                perl-MailTools-2.20-2.el8.noarch
  perl-Memoize-1.03-421.el8.noarch                                                               perl-Net-SMTP-SSL-1.04-5.el8.noarch
  perl-Net-SSLeay-1.88-2.module+el8.6.0+20623+f0897f98.x86_64                                    perl-TermReadKey-2.37-7.el8.x86_64
  perl-Time-HiRes-4:1.9758-2.el8.x86_64                                                          perl-TimeDate-1:2.30-15.module+el8.3.0+7692+542c56f9.noarch
  perl-URI-1.73-3.el8.noarch                                                                     perl-YAML-1.24-3.module+el8.1.0+5422+43f20e79.noarch
  perl-libnet-3.11-3.el8.noarch                                                                  subversion-1.10.2-5.module+el8.6.0+20670+d864ac37.x86_64
  subversion-libs-1.10.2-5.module+el8.6.0+20670+d864ac37.x86_64                                  subversion-perl-1.10.2-5.module+el8.6.0+20670+d864ac37.x86_64
  tcl-1:8.6.8-2.el8.x86_64                                                                       tk-1:8.6.8-1.el8.x86_64
  utf8proc-2.1.1-5.module+el8.3.0+7671+a87d5147.x86_64

Complete!
$ git --version
git version 2.31.1

OCI CLIのインストール

$ sudo dnf -y install oraclelinux-developer-release-el8
Last metadata expiration check: 0:15:35 ago on Mon 19 Sep 2022 06:47:11 AM GMT.
Package oraclelinux-developer-release-el8-1.0-7.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
$ sudo dnf install python36-oci-cli
Last metadata expiration check: 0:15:47 ago on Mon 19 Sep 2022 06:47:11 AM GMT.
Dependencies resolved.

・・・

Installed:
  python3-arrow-1.1.1-1.el8.noarch                 python3-jmespath-0.10.0-1.el8.noarch   python3-prompt-toolkit-3.0.29-1.0.2.el8.noarch   python3-terminaltables-3.1.0-1.0.1.el8.noarch
  python3-typing-extensions-3.7.4.2-1.el8.noarch   python3-wcwidth-0.2.5-3.el8.noarch     python36-oci-cli-3.16.1-1.el8.noarch

Complete!
$ oci -v
3.16.1

初期設定

ユーザのAPIキー作成

ユーザー  Oracle Cloud Infrastructure - Google Chrome_2022-9-19_16-18-34vv.png
秘密キーと公開キーをダウンロードします。

「追加」をクリックすると以下の画面になるので、「構成ファイルのプレビュー」をコピーします。

ユーザー  Oracle Cloud Infrastructure - Google Chrome_2022-9-19_16-15-33vv.png

設定ファイルの作成

コピーした内容を以下のファイルに保存します。

$ vim .oci/config
.oci/config
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaa4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
fingerprint=24:4d:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tenancy=ocid1.tenancy.oc1..aaaaaaaaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
region=ap-osaka-1
key_file=/home/opc/.oci/oci_api_key.pem #ここではこのファイル名で保存するので、ディレクトリを指定します。

秘密キーと公開キーの保存

ダウンロードした秘密キーと公開キーをそれぞれ以下のように保存します。

$ ls -l .oci/
total 12
-rw-------. 1 opc opc  299 Sep 19 07:19 config
-rw-------. 1 opc opc 1704 Sep 19 07:22 oci_api_key.pem
-rw-------. 1 opc opc  451 Sep 19 07:22 oci_api_key_public.pem

kubectlのインストール

$ curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 42.9M  100 42.9M    0     0  36.7M      0  0:00:01  0:00:01 --:--:-- 36.7M
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
$ kubectl version --client --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.25.1
Kustomize Version: v4.5.7

Kubernetesクラスタへのアクセス

コンソール画面の「クラスタへのアクセス」をクリックします。

Kubernetesクラスタ(OKE)  Oracle Cloud Infrastructure - Google Chrome_2022-9-19_16-24-0vv.png

「ローカル・アクセス」の手順に沿って設定します。
今回はパブリックエンドポイントにアクセスします。

$ mkdir -p $HOME/.kube
$ oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.ap-osaka-1.aaaaaaaayxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --file $HOME/.kube/config --region ap-osaka-1 --token-version 2.0.0  --kube-endpoint PUBLIC_ENDPOINT
New config written to the Kubeconfig file /home/opc/.kube/config
$ export KUBECONFIG=$HOME/.kube/config
$ kubectl get node
NAME          STATUS   ROLES   AGE   VERSION
10.0.10.169   Ready    node    23h   v1.24.1
0
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
0
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?