ラベル 備忘録 の投稿を表示しています。 すべての投稿を表示
ラベル 備忘録 の投稿を表示しています。 すべての投稿を表示

2021/04/26

[備忘録] Centos 7 に JDK 8 とTomcat 9 を インストールする

今回は久々に Tomcat インストールしたら色々と忘れていたので初心に戻って手順を残してみます。
そういえば、もう2年くらいJavaとかさわってなかったな・・・

環境は Alibaba Cloud で CentOS 7.9 を使いました。
JDK はとりあえず OpenJDK の1.8です。
11はとりあえず置いておいて、17でたらそっちは改めてやろうかな。

あと、AlibabaのJavaとかも使ってみたい気持ちはあるの

JDK のインストール

yum で入るので yum を使っていきます。
AdoptOpenJDK とか使う場合は この辺 を参考にyum repo を追加してご利用ください。

# sudo yum install java-1.8.0-openjdk-devel

# java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)

Tomcat の取得

Tomcat は yum からだと少し古いので公式から最新版を取得します。
Tomcat 10 も出ていますが、今回は Tomcat 9 を使います。

# wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz
--2021-04-20 10:22:25--  https://downloads.apache.org/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz
downloads.apache.org (downloads.apache.org) をDNSに問いあわせています... 88.99.95.219, 2a01:4f8:10a:201a::2
downloads.apache.org (downloads.apache.org)|88.99.95.219|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 11486964 (11M) [application/x-gzip]
`apache-tomcat-9.0.45.tar.gz' に保存中

100%[==================================================================>] 11,486,964  3.16MB/s 時間 4.0s   

2021-04-20 10:22:30 (2.73 MB/s) - `apache-tomcat-9.0.45.tar.gz' へ保存完了 [11486964/11486964]

取得した tar.gz を /opt に展開します。

# tar -zxvf apache-tomcat-9.0.45.tar.gz -C /opt
apache-tomcat-9.0.45/conf/
apache-tomcat-9.0.45/conf/catalina.policy
apache-tomcat-9.0.45/conf/catalina.properties
apache-tomcat-9.0.45/conf/context.xml
apache-tomcat-9.0.45/conf/jaspic-providers.xml
apache-tomcat-9.0.45/conf/jaspic-providers.xsd
apache-tomcat-9.0.45/conf/logging.properties
apache-tomcat-9.0.45/conf/server.xml
apache-tomcat-9.0.45/conf/tomcat-users.xml
apache-tomcat-9.0.45/conf/tomcat-users.xsd
apache-tomcat-9.0.45/conf/web.xml
apache-tomcat-9.0.45/bin/
apache-tomcat-9.0.45/lib/
apache-tomcat-9.0.45/logs/
apache-tomcat-9.0.45/temp/
apache-tomcat-9.0.45/webapps/
<以下略>

/opt/tomcat にシンボリックリンクを作ります。
バージョンアップ見越しての設定なので検証用なら無くても問題はないですが・・・お作法的な感じ

# sudo ln -s apache-tomcat-9.0.45 /opt/tomcat

# ls -la
合計 11232
drwxr-xr-x.  3 root root     4096  4月 20 10:23 .
dr-xr-xr-x. 18 root root     4096  4月 19 10:33 ..
drwxr-xr-x   9 root root     4096  4月 20 10:22 apache-tomcat-9.0.45
-rw-r--r--   1 root root 11486964  3月 30 18:46 apache-tomcat-9.0.45.tar.gz
lrwxrwxrwx   1 root root       20  4月 20 10:23 tomcat -> apache-tomcat-9.0.45

Tomcat User の作成

Tomcat の実行ユーザーを作ります。

# sudo groupadd -g 53 tomcat

# sudo useradd -M -d /opt/tomcat -s /sbin/nologin -c "Apache Tomcat" -g 53 -G 53 -u 53 tomcat

# sudo id tomcat
uid=53(tomcat) gid=53(tomcat) groups=53(tomcat)

# sudo cat /etc/passwd | grep tomcat
tomcat:x:53:53:Apache Tomcat:/opt/tomcat:/sbin/nologin

tomcat ディレクトリのオーナーを変更します。

# sudo  chown -R tomcat:tomcat /opt/apache-tomcat-9.0.45

# sudo ls -la /opt
合計 11232
drwxr-xr-x.  3 root   root       4096  4月 20 10:23 .
dr-xr-xr-x. 18 root   root       4096  4月 19 10:33 ..
drwxr-xr-x   9 tomcat tomcat     4096  4月 21 15:52 apache-tomcat-9.0.45
-rw-r--r--   1 root   root   11486964  3月 30 18:46 apache-tomcat-9.0.45.tar.gz
lrwxrwxrwx   1 tomcat tomcat       20  4月 20 10:23 tomcat -> apache-tomcat-9.0.45

systemd のユニットファイルの作成

定義ファイルを作成していきます。

# sudo vi /etc/systemd/system/tomcat.service

内容はざっくりこんな感じかな・・・Environment とかは各自の設定に調整を

[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
RemainAfterExit=yes

Environment=CATALINA_PID=/var/run/tomcat.pid
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx512M -XX:MaxMetaspaceSize=128M -server -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Djava.awt.headless=true'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

サービスの起動をしていきます。

# sudo systemctl daemon-reload

# sudo systemctl start tomcat

# sudo systemctl status tomcat -l
● tomcat.service - Apache Tomcat 9
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (running) since 水 2021-04-21 15:52:13 CST; 5s ago
  Process: 15638 ExecStop=/opt/tomcat/bin/shutdown.sh (code=exited, status=0/SUCCESS)
  Process: 15665 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 15672 (java)
   CGroup: /system.slice/tomcat.service
           └─15672 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Xms512M -Xmx512M -XX:MaxMetaspaceSize=128M -server -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Djava.awt.headless=true -Dignore.endorsed.dirs= -classpath /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat -Dcatalina.home=/opt/tomcat -Djava.io.tmpdir=/opt/tomcat/temp org.apache.catalina.startup.Bootstrap start

 4月 21 15:52:13 guacamole2 systemd[1]: Starting Apache Tomcat 9...
 4月 21 15:52:13 guacamole2 systemd[1]: Started Apache Tomcat 9.
 

上記の PID で空けているポート確認してみます。

# ss -tanp |grep 15672
LISTEN     0      1       [::ffff:127.0.0.1]:8005                  [::]:*                   users:(("java",pid=15672,fd=69))
LISTEN     0      100       [::]:8080                  [::]:*                   users:(("java",pid=15672,fd=57))

8005, 8080 ポートで待ち受けているので Tomcat もちゃんと起動していそうですね。
また、ブラウザからアクセスできる状態であれば以下の様な画面が確認できるはずです。
※何もしていなければ http://IPアドレス:8080 なのでポート開放(クラウドだとセキュリティグループ)されていれば繋がるかと思います。

image

以上、JDK と Tomcat インストールでした、久々だと細かい部分忘れてしまってますね。

2020/05/26

Alibaba Cloud アカウント間でのDNSレコードの移行

はじめに

Alibaba Cloud アカウント間でのDNSレコードの移行を行ったのでキャプチャだけですが備忘録として残します。

移行元の作業

image.png

image.png

image.png

DNSレコードの削除

image.png

image.png

移行先

image.png

DNSの登録が残っている場合

image.png

image.png

image.png

image.png

インポート

image.png

image.png

image.png

2020/05/12

Alibaba Cloud Container Service for Kubernetes のアップグレード をしてみた


このエントリーをはてなブックマークに追加  


はじめに

Kubernetes を使うときに必ず訪れるクラスターのアップグレード・・・
Alibaba Cloud の Kubernetes サービスでも 1.16 へのアップグレードが来ていたので実施したときのメモを残します。

とはいえ、マネージドサービスなので比較的簡単に実行できるのはありがたいですね。

Alibaba Cloud Container Service for Kubernetes のアップグレード

Alibaba Cloud Container Service for Kubernetes(ACK) のアップグレードは管理コンソールの画面から実行が可能です。
アップグレードイメージが利用可能になると クラスターのアップグレード の項目に 🔴が表示されます。

image.png

クラスターのアップグレードを選択すると対象のクラスターのアップグレード実行画面に遷移します。
ここでアップグレードを選択するとアップグレード作業が開始されます。
※次に確認画面が表示されます。

image.png

注意事項:
1. Kubernetes 1.16 へのアップグレード中、Corefile 設定は新しい CoreDNS バージョンに一致する内容に自動的に移行されます。
2. クラスターにデプロイされたアプリケーションは、アップグレード中も中断されません。 ただし、API サーバーに強くに依存 するアプリケーションは一時的に中断する場合があります。
3. アップグレード中は、クラスター内のノード数を変更しないでください。 ノードを追加または削除する必要がある場合、アップグレードをキャンセルしてから行います。
4. アップグレード中にエラーが発生しない限り、名前空間 kube-upgrade のリソースを変更しないでください
5. カスタムオペレーティングシステムイメージを指定した場合、アップグレードに失敗する可能性があります (カスタムイメージは Container Service による厳格な検証が行われていないため)。
詳細については、「クラスターのアップグレード」をご参照ください。

アップグレード実行の確認画面が表示されます。
確認を選択すると開始されます。

image.png

以下のような、プロセス自動で実行されてアップグレードが実行されます。
なお、「事前チェック」でエラーが出る場合は、そこでプロセスが停止します。
エラーを修正してから再度、アップグレードを開始する必要があります。

image.png

アップグレード自体は問題が発生しなければ自動的に実行されて数分で終わります。
この時は3ノードで5分以内に完了しました。

image.png

これで Alibaba Cloud Container Service for Kubernetes(ACK) のアップグレードは終了です。
簡単ですね!

事前チェックエラー

このままだと、ちょっと物足りないので「事前チェックエラー」の時どうなるかも簡単にご紹介します。

事前チェックに失敗するとアップグレードのプロセスは一旦停止します。
詳細情報からエラーの内容を確認して解決する必要があります。

image.png

Container Service Operation Center という画面が表示されます。
ここで Alibaba Cloud Container Service for Kubernetes(ACK) のクラスターの状態などをチェックすることが可能です。
※実はこの画面はこの作業しているときに初めて見ましたw
たぶん、最近追加された画面だと思われます😅

image.png

Error となっている項目を選択するとエラーの内容が確認できます。
Flannel の Daemon Set image をアップグレードしろと書いてあるようですね。

image.png

Reason : Daemon Set image version too low
Affect : May cause cluster function abnormality
Advise : Check the Daemon Set image version, upgrade this system component on ContainerService console.

解決方法の通りに Flannel のアップグレードをしてみたいと思います。
Alibaba Cloud Container Service for Kubernetes(ACK) ではこういったコンポーネントのアップグレードなども管理コンソールから行うことが可能です。
対象のクラスターのアドオン管理から対象(kube-flannel-ds)のアップグレードを行います。

image.png

アップグレードしますか?
と聞かれるので確認を選択します。

image.png

アップグレードが開始されると「実行中」になります。

image.png

しばらくすると「成功」で「最新」の状態になります。これで完了です。

image.png

事前チェックでのエラーの対処が完了したので、再度アップグレード処理を行いたいと思います。
プレチェック中にエラーが発生しました、再度確認してください。という緑のボタンを選択します。

image.png

すると、アップグレードプロセスが再実行されます。
事前チェックで引っ掛かっていた部分を直したので無事にアップグレードが始まりました。

image.png

おわりに

Alibaba Cloud の Kubernetes サービスのアップグレード方法をご紹介させて頂きました。
アップグレード作業自体も簡単ですし、依存関係のチェックも判りやすいのではないでしょうか?
マネージド型、サーバーレス型の Kubernetes が使えるようになっていますし、色々な機能もありますのでご興味ある方は使ってみてください。

このエントリーをはてなブックマークに追加  

2020/02/27

Alibaba Cloud 無料トライアルを使ってみるよ!


このエントリーをはてなブックマークに追加  

お久しぶりです。こんにちは。
今回は Alibaba Cloud の無料トライアルでECS(VM)を購入してみたので手順を残します。


Alibaba Cloud の無料トライアルには 個人向け と 企業向け の2種類があります。
登録されているアカウントのタイプによって内容が異なりますのでお気をつけください。

企業向け無料トライアルの場合、企業実名認証が完了した場合のみご利用いただけます。すでに個人向け無料トライアルをご利用の場合、企業向け無料トライアルをご利用いただけません。





ECSの無料トライアルを購入

最初から予想外なのですが、無料枠のECSを利用するためには Alibaba Cloud 無料トライアル のページからECSを購入(?)する必要があります。


無料トライアルページから Elastic Compute Service (ECS) のプランを選択します。 
12ヶ月 と 3ヶ月の2つのトライアルプランがあるので、どちらか1つを選択します。
ちなみに 個人向け と 企業向け で選択可能なインスタンスタイプが異なります。

  • 個人向けトライアル


  • 企業向けトライアル


プランを選択し「無料トライアル」をクリックすると、リージョン、ディスク、OSを選択する画面が表示されます。
無料トライアルのECSを配置するリージョンを選択します。


ディスクタイプも選択します。無料枠ではサイズは40GB固定になっています。


OSも選択肢の中から選びます。
Aliyun Linux 2(Alibaba Cloud 独自のRHEL系ディストリビューション) 、CentOS7、Ubuntu 18.04、Windows Server(メモリが4GB未満なのでServer Core版です) などがあります。


構成の選択が完了したら「Try Now」をクリックします。
無料枠のECSインスタンスが購入されます。


以下の画面が表示されればインスタンスの作成は始まっています。
「インスタンスの確認」をクリックすると Alibaba Cloud の管理コンソールが表示されます。



購入した無料トライアルのECSを確認

以下が管理コンソールのECSのトップ画面です。
無料枠購入時に指定したリージョン、今回だとJapan(Tokyo)に1台インスタンスが出来ていると思います。



東京リージョンのインスタンス一覧を表示すると無料枠のインスタンスが表示されます。
ここまで来て分かりましたが、無料枠のインスタンスは「サブスクリプション」タイプのインスタンスのようです。

サブスクリプションタイプの詳しい説明は省きますが、無料枠 = 該当のインスタンスになります。1年間使える固定のインスタンスがある感じですね。





実際、料金はどうなってるのかな?
と思ってビリングの画面を見に行くと以下のような表示でした。
Amount が 「0.00 USD」で課金されていない事が分かります。


ちなみにVPCの選択とかしてないんだけどなぁ・・・
と思ってVPCを確認すると適当なVPCが自動で作成されていました😅


おわりに

今回は Alibaba Cloud の ECS の無料トライアルを購入してみた時の手順でした。

無料トライアルのインスタンスの購入方法や、購入した ECS がサブスクリプションになる事、購入時に設定できる項目など、ちょっと予想外な部分がありました。

これから Alibaba Cloud の無料トライアルを試しみる方の参考になれば幸いです。



このエントリーをはてなブックマークに追加  

Alibaba Cloud の Region 増えてた

  久々に Alibaba Cloud を覗いてみたら・・・ あ、なんかリージョン増えてるわ 昨年発表していたフィリピン(マニラ)リージョン、タイ(バンコク)リージョン、韓国(ソウル)リージョン が増えていたのでちょっと現状確認してみました。 フィリピン(マニラ)リージョンの場合...