アップグレードマニュアル
SenseLink アップグレードを実行します。
サーバーホストのローカルファイルにkeyring data
が格納されている場合、keyring_fileplugin
が必要です。keyring_fileplugin
がアクティブであることを確認するには、SHOW PLUGINS
ステートメントを使用するか、INFORMATION_SCHEMA.PLUGINS
テーブルをクエリします。例えば:
下記のコマンドを実行して、SenseLinkをアップグレードします。
SenseLinkの構成要素
Kubernetes環境で、全てのSenseLinkの構成要素はネームスペースsenselink
の下にデプロイされました。つまり、kubectl
を使って、SenseLinkのリソースを操作する時にパラメータ-n senselink
が必要です。
SenseLinkポート
kubectl -n senselink get pods
コマンドでsenselink
ネームスペースで動いているSenseLinkのホストを取得した結果は下記の通りです。
Type | NAME | Instances | STATUS |
pod | apiv2-X | X=number of link nodes | Running |
pod | emq | 1 | Running |
pod | feature-X | X=number of link nodes | Running |
pod | fs-X | X=1 | Running |
pod | infra2-X | X=number of link nodes | Running |
pod | mmo-init-job | 0 | Completed |
pod | openapi-X | X=number of link nodes | Running |
pod | opq | 1 | Running |
pod | schedule2 | 1 | Running |
pod | slinkpush | 1 | Running |
pod | sntp | 1 | Running |
pod | sync-X | X=number of link nodes | Running |
pod | web-X | X=number of link nodes | Running |
pod | tk-X | 1 | Running |
pod | event-X | X=number of link nodes | Running |
pod | nebula | X=1 | Running |
pod | zookeeper | 1 | Running |
pod | websocket | 1 | Running |
SenseLinkサービス
kubectl -n senselink get services
コマンドでsenselink
ネームスペースで動いているSenseLinkのサービスを取得した結果は下記の通りです。
NAME | TYPE | EXTERNAL-IP | PORT(S) |
apiv2 | ClusterIP | none | 8080/TCP, 8081/TCP, 20860/TCP |
emq | ClusterIP | none | 8083/TCP, 8084/TCP, 8883/TCP, 1883/TCP, 18083/TCP, 18084/TCP |
feature | ClusterIP | none | 50052/TCP |
fs | ClusterIP | none | 20080/TCP |
infra2 | ClusterIP | none | 50009/TCP, 50010/TCP |
mongo | ExternalName | dds-xxxxxxxx.mongodb.japan.rds.aliyuncs.com | none |
mysql | ExternalName | rm-xxxxxxxx.mysql.japan.rds.aliyuncs.com | none |
openapi | ClusterIP | none | 8099/TCP |
opq | ClusterIP | none | 9001/TCP |
redis | ExternalName | r-xxxxxxxx.redis.japan.rds.aliyuncs.com | none |
schedule2 | ClusterIP | none | 8091/TCP |
slinkpush | ClusterIP | none | 50055/TCP |
sntp | ClusterIP | none | 10080/TCP, 50080/TCP |
sync | ClusterIP | none | 1010/TCP, 50051/TCP |
web | NodePort | none | 80:80/TCP |
websocket | ClusterIP | none | 9000/TCP, 9099/TCP |
zookeeper | ClusterIP | none | 2181/TCP, 2888/TCP, 3888/TCP |
tk | ClusterIP | none | 8091/TCP, 50011/TCP, 20880/TCP |
nebula | ClusterIP | none | 55555/TCP, 20861/TCP |
event | ClusterIP | none | 8089/TCP, 20870/TCP |
インストール時の問題のトラブルシューティング
SenseLink RDS サービスデータをクリーンアップする方法
PV or PVCを削除できません
sk patch pvc infra-claim-infra-1 -p '{"metadata":{"finalizers":null}}'
SenseLink: ポート番号の問題で、Apiv2 ポードはCrashLoopBackOff時の対応
Apiv2 Pod Crash 問題
SenseLinkをデプロイしたら、apiv2
ポートは CrashLoopBackOff
状態となってしまいます。
ポートログを確認したら、下記のログが見つかりました。Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'
Apiv2 Pod Crashの原因
infra-serviceの一部のキャッシュがapiv2の正常な実行に影響を与えたと推測されています。 SenseLinkのコンポーネントには実行中の依存関係があります。これが、コンポーネントが順番に段階的に展開される理由です。そして、infra-serviceはapiv2の後に配備されました。したがって、この問題は通常は発生しません。
Apiv2 Pod Crash問題の対応
k8s statefulset infra-service と apiv2を削除します。その後、順番にapiv2 と infra-serviceをデプロイします。
最終更新