Terraform Enterprise をUbuntu にインストールする
前提条件
用意する環境として、事前にこちらのドキュメントに沿って、準備しておきます。
手順
Ubuntu のインストールと準備
2vCPU/8GB メモリ、仮想ディスクとしては、64GB(Thin provisioning) で用意し、その上にUbuntu 20.04 LTS をインストールしました。※Requirement としては、4vCPU/8GB が推奨されているので、Production 用途では4vCPU 以上をアサインする様にします。
その上で、この仮想マシン上に、Docker をインストールしています。※バージョン指定無く、インストールしましたが、Recommend である "19.03.11" をインストールした方が良さそうです。
TFE インストールには証明書が必要になるため、
certbot
コマンドで証明書を発行します。この環境ではGoogle Cloud DNS を使っています。仮想マシンにアサインしたIP アドレスを
<HOSTNAME>.<MYDOMAIN>
のAレコードとして登録しています。$ certbot --server https://acme-v02.api.letsencrypt.org/directory \ -d "<HOSTNAME>.<MYDOMAIN>" --manual --preferred-challenges dns-01 certonly \ --work-dir ./
<HOSTNAME>
/wd \ --config-dir ./
<HOSTNAME>
/cfg \ --logs-dir ./
<HOSTNAME>
/logs
案内に従ってステップを進めていくと、DNS TXT レコード とそれに対応する value が表示されるので、その組合せをGoogle Cloud DNS に登録します。
名前解決出来るまでしばらく時間が掛かりますが、以下のコマンドで登録したDNS TXT レコードの value が返ってくればOKです。
nslookup -q=txt _acme-challenge.
<HOSTNAME>.<MYDOMAIN>
クエリが通ったら、プロンプトでEnter を入力し、処理を終えます。
Congratulations! Your certificate and chain have been saved at:
と出力されていれば、無事処理が終わっています。Terraform Enterprise のインストール
インストールスクリプトを実行します。
$ curl https://install.terraform.io/ptfe/stable | sudo bash
Determining local address
The installer was unable to automatically detect the private IP address of this machine.
Please choose one of the following network interfaces:
[0] ens160 aaa.bbb.ccc.ddd
[1] docker0 172.17.0.1
Enter desired number (0-1): 0
The installer will use network interface 'ens160' (with IP address 'aaa.bbb.ccc.ddd').
Determining service address
The installer was unable to automatically detect the service IP address of this machine.
Please enter the address or leave blank for unspecified.
Service IP address: aaa.bbb.ccc.ddd
Does this machine require a proxy to access the Internet? (y/N) N
The installed version of Docker (20.10.7) may not be compatible with this installer.
The recommended version is 19.03.11
Do you want to proceed anyway? (y/N) y
Docker で利用されているNetwork インターフェースでは "無い" 方を選択し、ステップを進めていきます。 処理が成功すると、以下の様に出力されるので、別途ブラウザを開いて、後続のステップを進めていきます。
...<SNIP>...
Pulling latest replicated-operator image
stable-2.52.0: Pulling from replicated/replicated-operator
Image docker.io/replicated/replicated-operator:stable-2.52.0 uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/
69692152171a: Already exists
b8d1591cc3e8: Pull complete
99408039ae2c: Pull complete
f9266063add8: Pull complete
3669a4e3d61c: Pull complete
69bf04578910: Pull complete
bc03da138eb1: Pull complete
Digest: sha256:bd80d36e0a6dfe0ef8a50e858db9680418a072cd53f084caf4b488a294d8fcb9
Status: Downloaded newer image for replicated/replicated-operator:stable-2.52.0
docker.io/replicated/replicated-operator:stable-2.52.0
Tagging replicated-operator image
Stopping replicated-operator service
Installing replicated-operator service
Starting replicated-operator service
Created symlink /etc/systemd/system/docker.service.wants/replicated-operator.service → /etc/systemd/system/replicated-operator.service.
Operator installation successful
To continue the installation, visit the following URL in your browser:
http://aaa.bbb.ccc.ddd:8800
ブラウザでガイドされるステップに従って進めていきます。
取得しておいたLet's Encrypt の証明書アップロードしていきます。
./<HOSTNAME>/cfg/live/<HOSTNAME>.<DOMAIN>
配下にあるファイルを利用して、Private Key とCertificate それぞれアップロードします。続いて、ライセンスファイルをアップロードします。
インストールタイプの選択をします。今回は、Airgapped 環境ではないので、Online を選択し、後続のステップに進みます。
ライセンスのアクティベーション処理に進みます。
こちらはライセンス取得時に入力したEmail アドレスにActivation Code が送信される形になっています。
この後、TFE のDashboard の <Settings> からEnryption Password を設定します。
暫くすると、TFE のDashboard にあるステータスがStarted になります。これでTFE が稼働している状態ですので、<Open> Link をクリックして、TFE のユーザー作成、Organization 作成を実施します。
Terraform Enterprise の確認
<Open> Link をクリックすると、Create an account のページが開くので、TFE のアカウントを作成します。アカウントが作成されたら、引き続きOrganization を作成します。
無事作成が済んだら、初期セットアップ完了です。
あとは、Terraform Cloud と同じで、Workspace を作成し、Terraform の設定していき、Configuration を流していく形になります。Pre-Install Checklist をちゃんとパスした構成であれば、大きく躓くこと無く、TFE のインストールが出来ました。
参考までに、TFE をインストールした環境では以下のリソースがDocker コンテナとして稼働しています。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a730e1355b0c aaa.bbb.ccc.ddd:9874/hashicorp-atlas:CIRC-132698-eb61e4df7f "/usr/bin/init.sh ba…" 2 hours ago Up 2 hours ptfe_sidekiq
866b0489e145 aaa.bbb.ccc.ddd:9874/hashicorp-atlas:CIRC-132698-eb61e4df7f "/usr/bin/init.sh ba…" 2 hours ago Up 2 hours ptfe_atlas
d215aed55aed aaa.bbb.ccc.ddd:9874/hashicorp-tf-registry:CIRC-15414-d83fb774 "setup-ssl /usr/bin/…" 2 hours ago Up 2 hours ptfe_registry_worker
484627c28183 aaa.bbb.ccc.ddd:9874/hashicorp-tf-registry:CIRC-15414-d83fb774 "setup-ssl /usr/bin/…" 2 hours ago Up 2 hours ptfe_registry_api
0508cf9d4d63 aaa.bbb.ccc.ddd:9874/hashicorp-terraform-build-worker:CIRC-581-2eb3feb "start-tbw /terrafor…" 2 hours ago Up 2 hours ptfe_build_worker
d7ab6ad9f3ac aaa.bbb.ccc.ddd:9874/hashicorp-archivist:CIRC-725-8541c8d "/usr/bin/wait-for-t…" 2 hours ago Up 2 hours ptfe_archivist
7ee46efba8f6 aaa.bbb.ccc.ddd:9874/hashicorp-terraform-build-manager:CIRC-393-4a4f999 "/usr/bin/tbm-start" 2 hours ago Up 2 hours ptfe_build_manager
0031c3aa7567 aaa.bbb.ccc.ddd:9874/hashicorp-tfe-backup-restore:136-85409d0 "/usr/bin/wait-for-t…" 2 hours ago Up 2 hours ptfe_backup_restore
1d5c7da12026 aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-vault:CIRC-299-6cec545 "vault-start" 2 hours ago Up 2 hours 0.0.0.0:8201->8201/tcp ptfe_vault
0dab16ab225e aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-postgres:3cdf36a "docker-entrypoint.s…" 2 hours ago Up 2 hours 5432/tcp ptfe-postgres
314094b07dd0 aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-rabbitmq:9e22de8 "/start.sh rabbitmq-…" 2 hours ago Up 2 hours 4369/tcp, 5671-5672/tcp, 15691-15692/tcp, 25672/tcp rabbitmq
9e4a6b586f42 aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-nginx:0c904f0 "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:23001->8080/tcp ptfe_nginx
a62862d21566 aaa.bbb.ccc.ddd:9874/hashicorp-slug-ingress:CIRC-598-a632d29 "/usr/bin/slug-ingre…" 2 hours ago Up 2 hours ptfe_slug_ingress
2bf01b6089cc aaa.bbb.ccc.ddd:9874/hashicorp-tfe-telegraf:1.16.3-alpine "/entrypoint.sh tele…" 2 hours ago Up 2 hours 8092/udp, 8125/udp, 8094/tcp telegraf
5a06a394eb7b aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-nomad:a67323f "nomad-run" 2 hours ago Up 2 hours ptfe_nomad
e855f690aa68 aaa.bbb.ccc.ddd:9874/hashicorp-outbound-http-proxy:9e4920a "dumb-init -- /entry…" 2 hours ago Up 2 hours ptfe_outbound_http_proxy
a62758e9486f aaa.bbb.ccc.ddd:9874/hashicorp-tfe-influxdb:1.8-alpine "/entrypoint.sh infl…" 2 hours ago Up 2 hours 8086/tcp influxdb
3c2a5131fc83 aaa.bbb.ccc.ddd:9874/hashicorp-terraform-state-parser:CIRC-421-b86da4e "/terraform-state-pa…" 2 hours ago Up 2 hours ptfe_state_parser
e758d2e72f0a aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-redis:18a8d83 "docker-entrypoint.s…" 2 hours ago Up 2 hours 6379/tcp ptfe_redis
ee3767969c43 aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-base:439f3fd "/anchor-sleep.sh" 2 hours ago Up 2 hours anchor_isolation_network
4534a628f738 aaa.bbb.ccc.ddd:9874/hashicorp-ptfe-health-check:CIRC-171-797def4 "/root/ptfe-health-c…" 2 hours ago Up 2 hours ptfe_health_check
e1e8c2509d74 registry.replicated.com/library/statsd-graphite:1.1.8-20210517 "/usr/bin/supervisor…" 2 hours ago Up 2 hours 0.0.0.0:49158->2003/tcp, :::49158->2003/tcp, 0.0.0.0:49157->2004/tcp, :::49157->2004/tcp, 0.0.0.0:49156->2443/tcp, :::49156->2443/tcp, 0.0.0.0:49154->8125/udp, :::49154->8125/udp replicated-statsd
cbead5b6b07e registry.replicated.com/library/retraced:1.3.43 "/src/replicated-aud…" 2 hours ago Up 2 hours 0.0.0.0:9873->3000/tcp, :::9873->3000/tcp retraced-api
346e2b8567ee registry.replicated.com/library/retraced:1.3.43 "/src/replicated-aud…" 2 hours ago Up 2 hours 3000/tcp retraced-processor
96745fe85b21 registry.replicated.com/library/retraced:1.3.43 "/bin/sh -c '/usr/lo…" 2 hours ago Up 2 hours 3000/tcp retraced-cron
a19422672e3e registry.replicated.com/library/retraced-nsq:1.3.43 "/bin/sh -c nsqd" 2 hours ago Up 2 hours 4150-4151/tcp, 4160-4161/tcp, 4170-4171/tcp retraced-nsqd
df66273713fa registry.replicated.com/library/retraced-postgres:1.3.43 "docker-entrypoint.s…" 2 hours ago Up 2 hours 5432/tcp retraced-postgres
a922fb5e3b89 registry.replicated.com/library/premkit:v1.3.8 "/usr/bin/premkit da…" 2 hours ago Up 2 hours 80/tcp, 443/tcp, 2080/tcp, 0.0.0.0:9880->2443/tcp, :::9880->2443/tcp replicated-premkit
f7c8f3e8feb4 replicated/replicated-operator:current "/usr/bin/replicated…" 2 hours ago Up 2 hours replicated-operator
9215f399a62f replicated/replicated-ui:current "/usr/bin/replicated…" 2 hours ago Up 2 hours 0.0.0.0:8800->8800/tcp, :::8800->8800/tcp replicated-ui
ddc6ef050137 replicated/replicated:current "/usr/bin/entrypoint…" 2 hours ago Up 2 hours 0.0.0.0:9874-9879->9874-9879/tcp, :::9874-9879->9874-9879/tcp replicated
- リンクを取得
- ×
- メール
- 他のアプリ