chevron_left

メインカテゴリーを選択しなおす

cancel
社外SE技術日記(OUTPUT) https://www.mtioutput.com/

インフラ部門の社外SEが学んだことを発信しています。最近は自動化技術に興味があります。

社外SEくん
フォロー
住所
未設定
出身
未設定
ブログ村参加

2019/07/13

1件〜100件

  • 【自動更新】QiitaのDailyランキングTop10(1年前の人気記事付き)

    更新日時 2022/09/29/07:00 Qiita Trends Daily 1位 ※前日4位 ShellScript,Linux,UNIX,macOS,POSIX Qiita Trends Daily 2位 ※前日1位 JavaScript,npm,日本語訳,deno Qiita Trends Daily 3位 [New] GitHub,ウェブ開発,データ分析,個人開発,作ってみた Qiita Trends Daily 4位 [New] JavaScript Qiita Trends Daily 5位 ※前日2位 JavaScript,TypeScript,WebRTC,Firebase…

  • 【Db2】HADR_STATE=REMOTE_CATCHUP_PENDINGから復旧させた流れ

    事象 スタンバイ機のDBのHADRが正常に機能しない。具体的にはステータスがREMOTE_CATCHUP_PENDINGとなっている。 $ db2pd -db sample -hadr .... HADR_ROLE = STANDBY HADR_STATE = REMOTE_CATCHUP_PENDING HADR_CONNECT_STATUS = DISCONNECTED ... 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 解消方法 プライマリーとスタンバイ側のDB2インスタンスを停止させた状…

  • 【Db2】STANDBY機のサーバ再起動時におけるTSA/RSCTによる復旧確認

    確認したいこと db2haicuで設定したTSAMP構成が組まれている環境で $ lssam Online IBM.ResourceGroup:db2_db2inst1_db2inst1_SAMPLE-rg Nominal=Online '- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs |- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:test1 '- Offline IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:…

  • 【JitsiMeet】ミーティング参加を試みるとWebsocket errorで接続が切断される事象

    事象 トップ画面は正常にアクセスできるが「ミーティングを開始/参加」をしようとすると あなたは切断されました というメッセージが出た後に再接続が繰り返される。 原因/解決策 ブラウザ経由でのWebSocket機能が正常に利用できていない。docker-composeによるJitsiMeetの設定ファイルである.envに以下を記述すると ENABLE_XMPP_WEBSOCKET=0正常に起動する。以下、補足です。 補足 以下の記事で作成した環境へProxy(プロキシー)経由で接続した際にエラーとなりました。 ブラウザ上でデバッグすると下記のように出力されていたので init @ app.bun…

  • 【Db2】データベースマネージャー構成パラメーターを確認する

    やりたいこと 以下のように設定を行うデータベースマネージャー(dbm)の構成パラメーターの現在値の確認する。 $ db2 update dbm cfg using xx yy 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 やり方 以下のコマンドを押下すると $ db2 get dbm cfg以下の形式で値が表示される。 Database Manager Configuration Node type = Enterprise Server Edition with local and remote…

  • 【Db2】db2_killを用いたインスタンス障害時のTSA/RSCTによる復旧確認

    確認したいこと db2haicuで設定したTSAMP構成が組まれている環境で $ lssam Online IBM.ResourceGroup:db2_db2inst1_db2inst1_SAMPLE-rg Nominal=Online '- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs |- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:test1 '- Offline IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:…

  • 【Db2】db2haicuの設定情報をxml形式で出力する

    やりたいこと db2haicuで対話形式に設定したTSAMP構成をXML形式に出力する。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 やり方 -o(output)オプションを利用し、出力先のファイル名を指定すると $ db2haicu -o test.xml Welcome to the DB2 High Availability Instance Configuration Utility (db2haicu). db2haicu determined the current DB2 data…

  • 【ICOS】curlコマンドのみでファイルをアップロードする

    やりたいこと IBM CloudのICOS(IBM Cloud Object Storage)にWindowsに標準搭載されているcurlコマンドを利用してファイルをアップロードする。尚、ibmcloudコマンドは利用せず、事前にAPIキーを作成しておく 環境情報 > curl -V curl 7.83.1 (Windows) libcurl/7.83.1 Schannel ... やり方 APIキーを引数に入れた上で下記コマンドを押下すると > curl -X "POST" "https://iam.cloud.ibm.com/identity/token" --data-urlencode…

  • 【Db2】TSAによるHADR自動切り替えにおけるクォーラムデバイスの役割

    はじめに クラスタリングツールの世界にはクォーラムデバイス(quorum device)と呼ばれる概念があり、実際にDb2のクラスタリングを組む際に以下のように指定します。 Configure a quorum device for the domain called 'xx'? [1] ... The following is a list of supported quorum device types: 1. Network Quorum/2. Disk Quorum/3. Majority Node Set...本記事では、同デバイスの役割と実際にそれがどのように使われるのかの動き方を…

  • 【Db2】db2haicuで設定した自動テイクオーバーを確認する 

    はじめに スタンバイ側にてdb2haicuを実施した後に プライマリーでも同設定を行い、機能検証としてプライマリー側のOSをシャットダウンしてみました。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 Primary側の手順 db2haicuを対話モードで実行し、Sutandby側と同じクラスターとDB名を指定します。 $ db2haicu ... The following are valid settings for the high availability configuration par…

  • 【Db2】スタンバイ側にてdb2haicuを用いてクラスタードメインを構成する

    はじめに 以下のようにHADR構成のデータベースが既にある場合、プライマリーのデータベースサーバとスタンバイのデータベースサーバでクラスタードメインを作成する流れについて記載しました。 尚、今回はクラスタリングツールにTSAを利用しています。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 事前準備 TSAのインストールを行った上で # ./installSAM prereqSAM: All prerequisites for the ITSAMP installation are met on o…

  • 【Db2】HADR構成のDBでクライアントリルートの動きを確認する

    はじめに 以下のようにHADR構成のデータベースがある場合、クライアント側が接続先を変更せずともTAKEOVER時にスタンバイ側に切り替わるクライアント・リルート機能をを確認しました。 環境情報 DB2 v11.5 RHEL 7 サーバ側での事前確認 プライマリー側のデータベースにて"Alternate server hostname"と"Alternate server port number"を指定することでスタンバイ側の情報をクライアント側に伝達できるようにしておきます。 $ db2 "UPDATE ALTERNATE SERVER FOR DATABASE SAMPLE USING >…

  • 【Db2】リモートにあるデータベースサーバに接続するためにカタログを作成する

    はじめに 以下のように遠隔にデータベースがある場合、クライアント側でCATALOGと呼ばれる情報を用意して接続を行います。本記事ではそれらの流れについて記載しました。 尚、クライアント側でdb2コマンドは押下できる状態かつサーバ側ではインスタンス/DBが作成済の状態とします。 環境情報 DB2 v11.5 RHEL 7 サーバ側での事前確認 インスタンスが待ち受けているポート番号は、インスタンスにログイン後に以下のコマンドで $ db2 get dbm cfgSVCENAMEに記載の値で確認できます。 TCP/IP Service name (SVCENAME) = db2c_db2inst1…

  • 【Db2】HADRの正副構成を手動で切り替える

    はじめに プライマリー機とスタンバイ機の間でHADR(High Availability Disaster Recovery)機能を利用しているIBM Db2環境で、プライマリー側の更新がスタンバイ側に取り込まれていることを実機で確認しました。 環境情報 DB2 v11.5 RHEL 7 事前準備 SAMPLEデータベースにてHADR構成を組み、プライマリー側/スタンバイ側それぞれでHADR_STATEが"PEER"となっていることを確認。 $ db2pd -db sample -hadr Database Member 0 -- Database SAMPLE -- Active -- ..…

  • 【Kubernetes】calico/kube-controllersのLivenessであるcheck-statusの動き

    はじめに Calicoのkube-controllersのLiveness/Readinessを見ると、内部的に以下コマンドで生死監視が行われています。 exec [/usr/bin/check-status -l] delay=10s timeout=10s period=10s #success=1 #failure=6本記事にて実機を用いて内部的に何が確認されているのかを調査しました。 環境情報 calico/kube-controllers:v3/usr/bin/check-status --version v3.21.4 check-statusはjsonファイルを確認している コン…

  • 【Db2】START HADR AS STANDBYを実施するもUnable to start HADR. Reason code = "1"となる

    事象 HADR構成をスタンバイ側で実施しようとするも表題のエラーとなる。 $ db2 "START HADR ON DB SAMPLE AS STANDBY" SQL1768N Unable to start HADR. Reason code = "1". 環境情報 DB2 v11.5 RHEL 7 原因/解決策 公式ドキュメントにて START HADR AS STANDBY コマンドを発行したが、データベースの状態が、ロールフォワード・ペンディングでもロールフォワード進行中でもないため。 と記載あり。再度プライマリー側のデータをリストア&ロールフォワード・ペンディング状態のまま実施すると…

  • 【Db2】sb2setコマンドでDB2SYSTEMを変更する

    やりたいこと デフォルトで設定されている変数であるDB2SYSTEMを変更したい。 尚、同値はインスタンスユーザにスイッチした上で以下コマンドで確認できる。 $ db2set -all [i] DB2COMM=TCPIP [i] DB2AUTOSTART=NO [g] DB2SYSTEM=testserver 環境情報 DB2 v11.5 RHEL 7 やり方 特権ユーザ(root)にスイッチした上で環境変数にてインスタンス名を定義した上で # export DB2INSTANCE=db2inst1以下のように変更後の値を入力すると # /home/db2inst1/sqllib/adm/db…

  • 【Db2】No start database manager command was issued というエラー

    事象 データベースに接続しに行くも表題のエラーとなる。 $ db2 connect to SAMPLE SQL1032N No start database manager command was issued. SQLSTATE=57019 環境情報 DB2 v11.5 CentOS Linux 7 (Core) 原因/解決策 db2startで起動するメインプロセス(db2sysc)が存在しない。よって該当のプロセスを起動すると $ db2start ... 0 0 SQL1063N DB2START processing was successful. SQL1063N DB2START…

  • 【Kubernetes】NotReadyのNodeで動いているPodはServiceから切り離される

    確認したいこと 以下の記事のようにWorkerNode~API Serverの通信が途絶えたりkubelet障害が発生した場合に Pod上はどのような挙動をするのか。2台のNodeを用意し、それぞれに1つずつPodをDeployした状態でService経由のアクセスを可能にしてあることとする。 環境情報 Kubernetes 1.24 確認結果 二台のNodeが存在する環境で1台のNodeのみを「NotReady」ステータスとすると $ kubectl get node NAME STATUS ROLES AGE VERSION 10.X.X.A NotReady ... 10.X.X.B R…

  • 【Vyatta】インターフェースに割り当てられているIPv6のアドレスを無効化する

    やりたいこと 各インターフェースに定義されているinet6を無効化したい。 尚、同IPアドレスは以下で確認できる。 $ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 s…

  • 【JSON】jqコマンドで階層を問わずに指定した項目/アイテムを表示する

    やりたいこと 以下のような構造のJSONがあるとして { "issue": { "id": XX, "project": { "id": 8, "name": "Test" }, "tracker": { "id": 10, "name": "Task" }, ... nameの値だけを取り出す。ただし、nameの場所がどの入れ子の深さにあるかは指定しない。 環境情報 $ jq --version jq-1.6 やり方 以下のように指定することで $ cat test.json | jq "..|.name?|select(.!=null)"全てのアイテムにてnameという名前のフィールドを再…

  • 【Vyatta】VRRP構成でリモートサーバにSyslog転送を行う際の注意点

    はじめに VRRPによる冗長構成が有効な場合に Syslog転送を行うと、送信元のIPアドレスに気をつける必要がある点を実機で確認しました。 環境情報 Debian 4.19.150-0vyatta1 Vyatta側の設定 Vyattaでは以下構文でSyslog転送の設定ができるので # set system syslog host <address> facility <keyword> level <keyword>ファシリティは all とした上で対象を警告以上とするように設定をしました。 # set system syslog host 10.X.X.X facility all le…

  • 【Wireshark】パケット内の任意の項目を表示列に追加する

    やりたいこと パケットの中にある任意の値をWireshark上の列として表示させる。例えばTCP(Transmission Control Protocol)パケットの中にて以下のように格納されているウィンドウサイズの値を Window: 29200 [Calculated window size: 29200] 列に組み入れるケースを想定する。 環境情報 Wireshark 3.2.2 やり方 ツリービューに表示されるパケットの詳細にて該当箇所を選択した上で右クリックを押し「列として適用」を行う。GUI上尚、デフォルトではNo. , Time , Source , Desitination,…

  • 【Vyatta】config-syncに新たなルールを追加してconfig-sync errorを防ぐ

    やりたいこと 例えばファイアウォールのためにIPアドレスのグループを定義する以下の定義を # set resources group address-group group-name { address address | description desc }config-sync機能で同期をかけたい。尚、同期設定は完了していることとする。 環境情報 Debian 4.19.150-0vyatta1 やり方 Config-syncを有効にした状態で新たなルールを有効化すると # set system config-sync sync-map SYNC rule 4 action include…

  • 【Vyatta】config-syncで片方のRouterに定義を同期して反映する

    はじめに VyattaではNETCONF Protocolという機構を利用してConfigをネットワーク越しに設定することができますが、冗長構成のVyattaではset system config-syncを用いることで片側でのcommit時に構成定義の同期が可能となります。本記事ではVRRP構成のVyattaを利用し、実際に確認しました。 環境情報 Debian 4.19.150-0vyatta1 1系側での設定 対向のIPアドレスを以下のように入れておき set system config-sync remote-router xx password '********' set syst…

  • 【Vyatta】片系のみVRRPのpreemptが有効化されている時の挙動

    確認したいこと VRRPが有効化なVyattaにて片系のみ # set interfaces bonding test0 vrrp vrrp-group 1 preempt trueとしている状態でMaster/Backupの切り替えを行うとどうなるのか。 環境情報 Debian 4.19.150-0vyatta1 確認結果 優先度が高い系でpreemptが有効化されている場合は対向側の有効化状況に拘わらずにMasterとなる。箇条書きにすると以下。 優先度が高いAでpreemptがtrueの場合 優先度が低いBのpreemptの状態に拘わらず、A側がBackupに入る挙動に入ってもA側がMa…

  • 【Vyatta】冗長構成としてのVRRPを有効化する流れ

    やりたいこと VyattaにてVRRPを有効化したい。 環境情報 Debian 4.19.150-0vyatta1 やり方 以下のように定義を入れた状態で set interfaces bonding test0 vrrp vrrp-group 1 disable set interfaces bonding test0 vrrp vrrp-group 1 preempt false set interfaces bonding test0 vrrp vrrp-group 1 priority XXX set interfaces bonding test0 vrrp vrrp-group 1…

  • 【IBMCloud/VRA】冗長構成のVyattaをオーダーする流れとその確認

    はじめに 冗長構成のVirtual Router Applianceをオーダーした際の流れとその確認結果を記事にしました。 尚、同情報は執筆(2022年)時点での確認結果となりますのでご了承ください。 環境情報 $ ibmcloud --version C:\Program Files\IBM\Cloud\bin\ibmcloud.exe version 2.1.1... オーダー確認 オーダー時には以下を指定した上でオーダーをすると Vendor : AT&T vRouter Hostname : xx High avaliability : ON Location : xx Pod : x…

  • 【Kubernetes/Dashboard】Error scraping node metricsというエラーの解消法

    事象 システムログに以下のメッセージが定期的に出力される。 ... journal: {"level":"error","msg":"Error scraping node metrics: the server could not find the requested resource (get nodes.metrics.k8s.io)","time":"..."}尚、以下記事のようにDashboardをインストールしている。 環境情報 dashboard/v2.4.0 原因/解決策 dashboard-metrics-scraperが起動しているが # kubectl get all -…

  • 【Redmine/API】curlコマンドでチケットのウォッチャーを追加する

    やりたいこと 以下で作成済のチケットに対してウォッチャーの追加を行いたい。 尚、APIアクセスキーは個人設定から確認済とする。 環境情報 curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL やり方 ユーザIDを記載したJSONファイルを用意した上で $ cat test.json { "user_id": "XX" }curlコマンドのPOSTを利用してデータを送付する。尚末尾のプレフィックスにはissuesのidを入れる。 $ curl -X POST -H "Content-Type: application/json" -H "X-Redmine-AP…

  • 【IBMCloud】ClassicNetworkにおいて利用しているスイッチ情報を確認する

    やりたいこと IBM Cloudで利用しているクラシックインフラストラクチャにて使用している具体的なネットワーク機器情報を確認したい。 環境情報 $ ibmcloud --version C:\Program Files\IBM\Cloud\bin\ibmcloud.exe version 2.7.0+..-2022-04-28T... やり方 ブラウザにてアカウントにログイン後に Classic > Local Network Status を確認することで以下のようにホストに紐づくネットワーク機器が階層的に確認できる。 bcr01a.tok05.softlayer.com/Router b…

  • 【Bash/Linux/awk】awkの中でシェルの変数の中身を展開して利用する

    やりたいこと 以下のような変数が格納されているとして sport=baseball同変数を利用して以下のようなawkの処理を行いたい。 $ cat test.csv | awk 'BEGIN{FS=","} $1 == "baseball" {print $0}'尚、上記は指定列での検索を行う構文。 環境情報 $ awk -W version mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan やり方 -vオプションにて変数を指定した上で$無しで利用する。 $ cat test.csv | awk -F, -v sport="$sport…

  • 【Bash/Linux】シェルスクリプトのコメント業を用いてヘルプ機能を実装する

    やりたいこと 引数に--helpまたは-hが指定された場合にヘルプを出力したい。 尚、表示する内容はシェルスクリプトの中で先頭に#付きのコメント行として記載されていると仮定。具体的には以下ルールとする。 # test → 出力する #test → 出力しない ## test → 出力しない 環境情報 $ bash --version GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin) やり方 シェルスクリプトの任意の箇所に以下を挿入させる。 if [ "$1" = "--help" ] || [ "$1" = "-h" ] |…

  • 【ibmcloud】アクセスグループに紐づくポリシー情報をCUIで確認する

    やりたいこと IBM Cloud CLI(コマンド・ライン・インターフェース)にて特定のアクセスポリシーに紐づく権限を確認する。 環境情報 $ ibmcloud --version C:\Program Files\IBM\Cloud\bin\ibmcloud.exe version 2.6.0... やり方 アカウントにログイン後に $ ibmcloud login ... Account: XX (xx) <-> YY以下コマンドでアクセスグループ名を付与してコマンド実行すると ibmcloud iam access-group-policies "XXX" --output JSON以下…

  • 【macOS】FFmpegを利用してVODファイルをMP4形式に変換する

    やりたいこと 拡張子がVODの映像をMP4に変換する。 尚、FFmpegはインストール済みでコマンドは打てる状態とする。 環境情報 macOS 10.15 ffmpeg version N-106666 the FFmpeg developers やり方 変換したいVOBに対して $ file VTS_01_1.VOB VTS_01_1.VOB: MPEG sequence, v2, program multiplexファイルのパスを-iで指定し、変換後のファイル名を指定すると sudo /Users/admin/xx/ffmpeg -i "VTS_01_1.VOB" VTS.mp4以下のよう…

  • 【Openshift】dataSourceによるPVC指定のバックアップがPending状態となる事象

    事象 作成済のPVCに対して $ oc get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE test-data Bound pvc-test-73e902635620 1Gi RWO XX ...pvc.spec.dataSource(RESOURCE: dataSource )を利用してクローンコピーを作成するもPVが作成されない。 $ oc get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE test-data Bound pvc-…

  • 【Prometheus/Kubernetes】Service側に記載するannotationsについて

    はじめに Prometheusはメトリクス収集対象を静的に記載して扱うこともできますが ServiceDiscoveryを利用すれば対象の自動的な検出が可能です。本記事ではKubernetesのServiceを利用してメトリクスを収集する際にマニフェストに記載する以下のアノテーションの役割について実機で確認しました。 prometheus.io/scrape prometheus.io/scheme prometheus.io/path prometheus.io/port 環境情報 $ /bin/prometheus --version prometheus, version 2.31.X.…

  • 【Rocket.Chat】Prometheusでメトリクスを収集する

    やりたいこと シングル構成のRocketchatのメトリクスをPrometheus経由で収集する。 尚、Prometheus及びRocketchatはインストール済とする。 環境情報 Rocket.Chat Version 3.2.2 やり方 Rocketchatの管理者画面よりPrometheusを任意のポートでEnableとした後にPrometheus用の設定がGUI上で確認できるPrometheusのConfig(/etc/config/prometheus.yml)に以下のRocketchat用の設定を追記する。尚、ポート番号の前にはRocketchatのURIまたはIPアドレスを入れ…

  • 【Python/tweepy】Twitterのツイートにスレッド形式でツイートを追加する

    やりたいこと ツイート済のものにスレッド形式でツイートを付与する。 環境情報 Debian GNU/Linux 9 Python 2.7.13 tweepy 3.9.0 やり方 スレッドを追加する元のツイートのIDを取得した上でupdate_statusでツイートを追加する。 api.update_status(status="Test", in_reply_to_status_id=XX)以下、補足です。 補足 Botにてツイートを発信し、関連情報をスレッド形式で追記する際に利用しました。以下のように指定したアカウントの最新ツイートのIDを以下のように取得し api = tweepy.API…

  • 【Redmine/API】curlコマンドでチケットを更新する

    やりたいこと 以下で作成済のチケットに対してステータスの更新を行いたい。 尚、APIアクセスキーは個人設定から確認済とする。 環境情報 curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL やり方 例えばstatus_idを変更する場合は以下のようなファイルを用意した上で $ cat test.json { "issue": { "status_id": X } }curlコマンドのPUTを利用でデータを送付するとチケットが更新される。尚末尾のプレフィックスにはissuesのidを入れる。 $ curl -X PUT -H "Content-Type: app…

  • 【Redmine/API】curlコマンドでチケットを新規作成する

    やりたいこと ブラウザで以下のURLから新規チケットを起票する動きを https://xx/smartapp/projects/mebuki-fg-app/issues/newcurlコマンドで実施したい。尚、APIアクセスキーは個人設定から確認済とする。 環境情報 curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL やり方 JSONファイルに必要情報を入力した上で $ cat test.json { "issue": { "project_id": X, "tracker_id": X, "status_id": X, "subject": "test",…

  • 【Python】TypeError: argument of type 'datetime.timedelta' is not iterableを回避する

    事象 Pythonにて日付の比較情報が入った変数(td)に対して 3 days, 19:30:47.170090if文で部分一致をしかけるとエラーとなる if 'days' in td: エラーとなる。 Traceback (most recent call last): File "test.py", line 37, in <module> if 'days' in td: TypeError: argument of type 'datetime.timedelta' is not iterable 環境情報 Python 2.7.13 原因/解決策 datetimeに対して文字列操作を…

  • 【ICOS】awsコマンドで複数ファイルを一括ダウンロードする

    やりたいこと IBM CloudのICOS(IBM Cloud Object Storage)に作成したバケット内の全ファイルをローカルにダウンロードする。 環境情報 $ aws --version aws-cli/1.19.... やり方 --recursiveを利用することで以下のように複数ファイルを一括でダウンロードする。また、不要な拡張子やファイルが有る場合は--exclude "*.txt"のように付与することで除外する。 $ aws --endpoint-url https://s3.jp-tok.cloud-object-storage.appdomain.cloud s3 cp…

  • 【Kubernetes】kubeletを停止したNodeは自動的にNotReadyとなる

    確認したいこと WorkerNode上で動作するkubeletプロセスが停止した場合にNodeとしてどのように見えるのか。尚、以下のようにMasterNodeとなっているNode上でkubeletを停止させることで事象を確認する。 # kubectl get node NAME STATUS ROLES AGE VERSION test Ready control-plane,master ... v1.23.2 環境情報 # kubelet --version Kubernetes v1.23.2 確認結果 kubeletを手動で停止させると # systemctl status kubel…

  • 【Bash/Linux】iptalbesのログ出力の出し方と止め方

    やりたいこと iptalbesが動作している環境で # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination cali-INPUT all -- anywhere anywhere ...TCP の入力をすべてログとして出力したい。 環境情報 iptables v1.4.21 Red Hat Enterprise Linux 7.9 やり方 以下のコマンドにて/var/log/messagesにログが出力される。 # iptables -A INPUT -p tcp -j LOG止めたい場合はDオプ…

  • 【Bash/Linux/awk】最終列以外の文字列を句読点区切りで切り出す

    やりたいこと 以下のような日本語文字列があった場合に # echo "あい。かき。さし。たち" あい。かき。さし。たち最後の列を切り捨てて あい。かき。さし。のみを取り出したい。 環境情報 Debian GNU/Linux 9 (stretch) やり方 以下のワンライナーにて # echo "あい。かき。さし。たち" | awk 'BEGIN{FS="。";OFS="。"}{c="";for(i=1;i<NF;i++) c=c $i"。"; print c}'要件を満たした切り出しが行える。 あい。かき。さし。以下、補足です。 補足 Twitterのような文字列制限があるプラットフォームに日…

  • 【Kubernetes】特定ユーザに対してkube-apiserverのAudit機能を有効にする

    はじめに KubernetesのAPIサーバには監査機能があり、時系列情報として各アクティビティをテキストファイルとして吐き出すことが可能です。本記事ではkubeadmでインストールしたNodeにてauditログを出力する設定を行い、その中でも特にkube-adminが行った操作のみを対象にログ出力するように変更を行う流れについて記載しました。 環境情報 Kubernetes v1.23 Audit機能の確認 事前にpolicy.yamlというファイルを任意の場所に配置します。下記の監査の内容は「リクエストのメタデータを全量記録する」という設定となります。 # cat /etc/kuberne…

  • 【Kubernetes】RBACにおけるget,list,watchの違いを実機で確認する

    はじめに KubernetesではRoleとUser/ServiceAccountを紐付けることで権限管理ができますが、その中で get list watch という状況照会系の似たverbが存在し、それぞれに役割が異なります。本記事ではgetのみを与えた場合、listのみを与えた場合、watchのみを与えた場合を比較しながらそれぞれの役割について確認しました。 環境情報 Kubernetes v1.23 Roleによる権限付与による確認 権限を持っているユーザにて以下のように確認できる環境で $ kubectl get pod NAME READY STATUS RESTARTS AGE b…

  • 【Kubernetes】kube-proxy停止時はServiceとPodのIPアドレスが新たに紐づかなくなる

    はじめに KubernetesではServiceのIPアドレスとPodのIPアドレスの紐付けをDNSではなくkube-proxyが担っています。つまり、kube-proxyが動作しているおかげでEndpointの数が増減しても、Serviceさえ指定すればコンテナのIPを気にせず通信を行えます。本記事ではその動きを実際に確認するために、あえてkube-proxyをダウンさせることで新たなPodの検出ができないことを確認しました。 環境情報 Kubernetes v1.23 kube-proxyによるiptablesの変更 kube-proxyにはいくつかモードがありますが、一般的にはiptab…

  • 【Kubernetes】Livenessによる再起動時にCrashLoopBackOffとなる事象

    事象 Liveness Probeを入れて再起動させているPodがCrashLoopBackOffとなって起動してこない。 # kubectl get pod NAME READY STATUS RESTARTS AGE liveness-exec 0/1 CrashLoopBackOff 7 (2m22s ago) 13m尚、describeで詳細メッセージを見ると下記のメッセージが表示されている。 ...Warning BackOff 38s (x28 over 8m16s) kubelet Back-off restarting failed container 環境情報 Kuberne…

  • 【Linux/bash】順序を保ったまま同じ文字列の行があるかないかでdiffを取る

    やりたいこと 以下のファイルAと apple strawberry orange cherry grape以下のファイルBがあった場合に orange pineapple banana strawberryファイルAの中でファイルBの中に存在しないものを差分として以下のように出力する。 apple cherry grape 環境情報 $ grep --version grep (GNU grep) 3.7 やり方 grepコマンドにおける-xオプション(match only whole lines)を利用する。具体的には以下。 $ grep -x -v -f b.txt a.txt apple…

  • 【Vyatta】ファイアウォールからルールを削除する

    やりたいこと Vyattaにてvifに既にFW定義が存在する場合に特定のIPアドレスに対する通信を許可を削除したい。 環境情報 Debian 4.9.124-0vyatta2 やり方 Configure Modeに遷移した後に $ configure #以下コマンドにて任意のルールを任意のファイアウォールから削除する。 # delete security firewall name xx rule yy尚、合わせてリソースグループを削除する場合は以下。 # delete resources group address-group XX同設定を入れた上でcompareコマンドで比較し、問題なけれ…

  • 【Kubernetesr】Nodeに対してdrainを行うもPodが起動しつづける

    事象 KubernetesのNodeに対してdrainコマンドを押下するも $ kubectl drain worker01以下のようなメッセージが標準出力に表示された上で node/worker01 cordoned ... error: unable to drain node "worker01", aborting command... There are pending nodes to be drained: worker01 cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): ... …

  • 【Kubernetes】新規ユーザのClusterアクセス用にSSL証明書を用意する流れ

    はじめに Kubernetesクラスターへのアクセスにてデフォルトではkubernetes-adminというユーザにclient-certificate-dataとclient-key-dataが与えられて認証しています。今回は新規ユーザを用意した場合にclient-certificate-dataとclient-key-dataを用意する流れについて記載しました。 環境情報 kubectl v1.23 CSRを発行する 新しいユーザ用に鍵とCSRをopensslコマンドで作成します。ちなみに冒頭で記載したclient-key-dataはtest.keyに相当します。 $ openssl ge…

  • 【Kubernetes】Calicoインストール時に導入されるIPPoolとは?

    はじめに KubernetesのCalicoを選択した際、インストール時に自動で生成されるippool。 本記事ではippoolの役割とその動きについて、kubeadmでインストールしたクラスターを例に分かりやすく解説しました。 環境情報 kubectl v1.23 docker.io/calico/kube-controllers:v3.21.4 ippoolの主な役割 Namespace毎ではないリソースとして存在するIPPoolですが # kubectl api-resources --namespaced=false NAME SHORTNAMES APIVERSION NAMESPA…

  • 【Kubernetes/Docker】exec: sh : executable file not found in $PATHとなっているコンテナの中に入る

    やりたいこと 以下のようにKubernetes/Docker経由で中に入れないコンテナに入りたい。 # kubectl exec -it coredns-xx sh -n kube-system kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead. rpc error: code = 2 desc = oci runtime error: exec failed: container_linu…

  • 【Kubernetes/Dashboard】ダッシュボードにToken認証でログインする

    やりたいこと kubernetesui/dashboardにおいてToken認証機能をオンにする。 尚、以下でダッシュボード機能自体はインストール済とする。 # kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml 環境情報 Kubernetes 1.23 kubernetesui/dashboard:v2.4.0 やり方 以下のようにhttpsポートを開いて起動した上で containers: - args: - --port=909…

  • 【Kubernetes/Docker】コンテナイメージからcontainerStatuses.imageIDを取得する

    やりたいこと Pod上にて以下のように格納されているimageIDをコンテナイメージからdockerコマンドで取得する。 $ kubectl get pod xx -n -o jsonpath='{.status.containerStatuses[].imageID}' xx@sha256:XX 環境情報 Kubernetes 1.23 docker version 1.13 やり方 コンテナイメージに対して以下コマンドを押下すると docker image ls --digestsDIGESTという箇所にcontainerStatuses.imageIDに表示される値と同じ文字列が表示され…

  • 【Istio】istiod停止下ではError creating: Internal error occurredでPodが起動しない

    事象 Istioのコントロールプレーンである以下のDeploymentを停止した場合に $ oc scale deployment/istiod-basic --replicas=0 -n istio-system deployment.apps/istiod-basic scaledIstiodで管理しているnamespaceのPodが正しく再起動されない。 $ oc get deployment -n istio-test NAME READY UP-TO-DATE AVAILABLE AGE ... ratings-v1 0/1 0 0 ... 環境情報 Openshift v4.6 R…

  • 【Istio】DestinationRuleで設定した相互TLSをPeerAuthenticationで上書きする

    はじめに Istioは相互TLS(mTLS/mutual-TLS)認証というサービストラフィックを暗号化する機能を持っているので、同設定を入れることでサーバ証明書による通常のTLS サーバ認証に加えてクライアント側の証明まで行えます。同設定をオンオフするのはDestinationRuleとPeerAuthenticationで行えますが、PeerAuthenticationの設定内容が優先されることを実機で確認しました。 環境情報 Openshift v4.6 Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)Ope…

  • 【Trello/API】curlコマンドで任意のOrganizationメンバーに招待を行う

    やりたいこと Trello上のユーザIDは既に取得済の状況で、同ユーザを任意のOrganizationに対してメンバーとして招待する。尚、Developer API Keysを利用して以下のリンク先で発行できるTokenは取得済とする。 https://trello.com/1/authorize?key=XX&name=&expiration=never&response_type=token&scope=read,write やり方 OrganizationName及びユーザNameを利用して以下を実行する。 $ curl --request PUT -s "https://trello.…

  • 【Trello/API】curlコマンドで任意のOrganizationメンバーを表示する

    やりたいこと GUI上で以下で確認できる各Organization毎のメンバーの一覧をCUIにて取得する。 https://trello.com/XXX/members尚、Developer API Keysを利用して以下のリンク先で発行できるTokenは取得済とする。 https://trello.com/1/authorize?key=XX&name=&expiration=never&response_type=token&scope=read,write やり方 OrganizationIDを利用して以下を実行する。 $ curl -s "https://trello.com/1/or…

  • 【Istio/Virtualservice】Headerのブラウザ情報を用いてトラフィック管理を行う

    はじめに Istioが持つTraffic Management機能にて、 Virtual ServiceとDestination Ruleを組み合わせることで異なるバージョンのアプリへのトラフィックの割合を指定することが可能となります。本記事ではUser-Agentを元にGoogleChormeとInternetExplorerのトラフィックを別のPodに流すように設定を入れて確認しました。 環境情報 Openshift v4.6 Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)Operator 想定状況 以下の記…

  • 【Istio】Virtualservice/DestinationRuleでPodへの通信割合を管理する

    はじめに Istioが持つTraffic Management機能にて、 Virtual ServiceとDestination Ruleを組み合わせることで異なるバージョンのアプリへのトラフィックの割合を指定することが可能となります。本記事では実際にv1のPodに80%、v2のPodに20%のトラフィックを流すように設定を入れて確認しました。 環境情報 Openshift v4.6 Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)Operator 想定状況 サービス(reviews)に紐づくPodが複数ある状態で…

  • 【Nginx】設定されているパラメータやコンフィグを表示する

    やりたいこと Nginxが動作しているサーバにて設定されているConfigを表示したい。 環境情報 $ nginx -v nginx version: nginx/1.19.9 やり方 nginxコマンドのTオプションを利用する。以下を押下すると $ nginx -T標準出力に現在読み込まれている値が表示される。 # configuration file /etc/nginx/nginx.conf: # Configuration checksum: ... # setup custom paths that do not require root access pid /tmp/nginx.…

  • 【Cygwin】画面のバッファー(ScrollbackLines)を変更する

    やりたいこと Cygwinのターミナルで標準出力のバッファーの上限を変更したい。 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) やり方 Cygwinのオプションにて Options > Windows > Scrollback lines の値を変更する。変更後に再度ログインすると、設定した値でターミナルが立ち上がる。以下、補足です。 補足 Cygwinのホームディレクトリ配下にある以下のファイルですが .minttyrcその中にある以下が画面のバッファーとして保持される行数となっ…

  • 【Istio/Openshift】ServiceMeshOperatorのistio-proxyログを出力させる

    やりたいこと Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)Operatorを利用して付与されるistio-proxy(Envoy)を通過するhttp accessをログとして表示させる。 環境情報 Openshift v4.6 Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)Operator やり方 以下のServiceMeshControlPlane (SMCP) オブジェクトをeditし $ oc get smcp -n ist…

  • 【Openshift/IngressOperator】Routeを利用してServiceに割り振られる仕組み

    はじめに Red Hat OpenShiftではIngress Operatorによって外部からのアクセスを可能にしています。 同コンポーネントはKubernetesにはデフォルトで付属している要素ではないので、IBM CloudでオーダーしたOpenshiftの環境にて本項目について調査してみました。 環境情報 $ oc version Client Version: 4.6.X Server Version: 4.6.X Kubernetes Version: v1.19.X IngressOperator/LoadBalancer 冒頭に記載した「IngressOperator」ですが実…

  • 【Istio/Openshift】ServiceMeshOperatorを利用してistioサイドカーを付与する

    はじめに Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)Operatorにて特定のnamespaceにIstioのサイドカーを付与する流れについて記載しました。 環境情報 Openshift v4.6 Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)Operator 事前準備 ServiceMeshControlPlaneを事前に作成しておき $ oc get smcp -n istio-system NAME READY STATU…

  • 【Openshift】may not be installed in the same project/namespace as the operatorというエラー

    事象 Red Hat OpenShift Service Mesh(2.1.0-0 provided by Red Hat, Inc)OperatorにてCreate ServiceMeshControlPlaneをGUI上で行うも以下エラーで失敗する。 Danger alert:An error occurred admission webhook "smcp.validation.maistra.io" denied the request: service mesh may not be installed in the same project/namespace as the ope…

  • 【Kubernetes】Podにlimitsを付与してCPUスロットリングを発生させる

    はじめに Kubernetesでは以下のようにlimitsというフィールドがあり $ kubectl explain pod.spec.containers.resources.limits KIND: Pod VERSION: v1 FIELD: limits <map[string]string>メモリやCPUリソースに制限を与えることができます。今回はその中でもCPUに焦点を当て、Podの使用するCPUを抑制する「CPU throttling」の動きを発生させてみました。 コンテナへのリミット 例えばPodのYAMLに以下のように書かれていると spec: containers: ...…

  • 【OpenSSH】Load key ".ssh/id_rsa": invalid formatと出るエラーの解決策

    事象 公開鍵暗号方式にてSSHDを起動しているサーバに接続するも $ ssh -i .ssh/id_rsa xx@xx -p 22 Load key ".ssh/id_rsa": invalid format xx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).エラーとなる。尚、サーバ側のauthorized_keysには対応する公開鍵(id_rsa.pub)を追記済。 環境情報 $ ssh -V OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021 原因/解決策 秘密鍵のフォーマットが想定…

  • 【Kubernetes】kubectl debug nodeでPodが起動しない事象

    事象 KubernetesにてNodeで任意のコマンドを打つためにkubectl debug nodeを実施するも $ kubectl debug node/test_node -it --image=busybox Creating debugging pod node-debugger-test_node-b4gg2 with container debugger on node test_node.上記からプロンプトが進まない。 環境情報 Kubernetes 1.21.4 原因/解決策 コンテナイメージの取得に失敗している。 Events: Type Reason Age From M…

  • 【IBMCloud】SysdigのAPIを利用するもUnauthorizedエラーと出る事象

    事象 SysdigのAPIを利用するも # docker run --rm quay.io/sysdig/secure-inline-scan:2 xx --sysdig-token xx --sysdig-url https://jp-tok.monitoring.cloud.ibm.com以下のエラーで権限エラーとなる。 ERROR: Invalid token for specific Sysdig secure endpoint (https://jp-tok.monitoring.cloud.ibm.com/api/scanning/v1). { "message": "Unauth…

  • 【fluetnd/tdagent】ログ収集コンテナを再起動してもログが欠落しない理由

    はじめに FluentdとはOSSのログ収集ツールで、サーバだけではなくログ収集コンテナとしてKubernetesやOpenshiftの上で動くPodのログをサーバに転送するという使われ方もよくしています。一方で気になるのはFluentd自体が停止してしまった場合のログの欠落。 結論としては転送前のログが消えてしまうことはないのですが、なぜコンテナが消えてもログが消えないのかについて簡単に解説しました。尚、今回は以下のKubernetes環境で利用されるFluentdを例に説明します。 ログが欠落しない理由 結論から言うと、Fluentdにはposファイルと呼ばれる「対象のファイルをどこまで読…

  • 【SSL/GoogleChrome】証明書変更に伴うNET::ERR_CERT_AUTHORITY_INVALIDというエラー

    事象 証明書情報を更新したサーバにアクセスすると以下文言でエラーとなり接続できない。 Your connection is not private Attackers might be trying to steal your information from xx (for example, passwords, messages, or credit cards). Learn more NET::ERR_CERT_AUTHORITY_INVALID 環境情報 Version 96.0.4664.110 (Official Build) (64-bit) 解決策 GoogleChormeに…

  • 【ICLB】任意のIPアドレスを持つServer Instancesをメンバーに追加する

    やりたいこと IBM Cloud Load Balancerにてロードバランシングする宛先に任意のIPアドレスのサーバを指定する。 尚、GUI上にてServer Instancecから「Add instances」を押下するとIBM Cloudの管理化のサーバしか追加できない。 環境情報 $ ibmcloud version C:\Program version 2.2.0+... やり方 以下コマンドで該当するICLBのUUIDを確認した上で $ ibmcloud sl call-api Network_LBaaS_LoadBalancer getAllObjects新規追加するIPアドレス…

  • 【Nginx/Linux】TLS1/TLS1.1を用いた接続を拒否する設定をopensslで確認する

    はじめに nginxでは設定ファイルにてSSL通信に関するパラメータを管理できますが、プロトコルは明示的に指定しない場合は以下が許容されています。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2今回は明示的にTLS1.0とTLS1.1を受け付けないように設定変更を行い、opelsslコマンドで疎通確認する流れについて解説しました。 尚、同プロトコルは第三者により通信の一部(Cookie関連)が解読されてしまう脆弱性があることから利用は推奨されていません。 環境情報 # nginx -v nginx version: nginx/1.20.2$ openssl versi…

  • 【Linux/Nginx】no "ssl_certificate" is defined for the "ssl" directive in ...というエラー

    事象 Linux環境にてNGINXのコンフィグチェックを行うと以下のようなエラーとなる。 # nginx -t [emerg] no "ssl_certificate" is defined for the "ssl" directive in /etc/nginx/nginx.conf:34 環境情報 # nginx -v nginx version: nginx/1.20.2 原因/解決策 以下の設定項目の前方に「;」が入っていなかった。 ... ssl_certificate "/etc/nginx/cert.crt"; ssl_certificate_key "/etc/nginx/c…

  • 【JMeter/Linux】Processing dump event "systhrow", detail "java/lang/OutOfMemoryError..というエラー

    事象 Linux環境にてjmeterを実施するも以下エラーとなる。 JVMDUMP039I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError" at ... - please wait. JVMDUMP032I JVM requested System dump using '/root/core....1.dmp' in response to an event 環境情報 apache-jmeter-5.4.1 java-1.8.0 RedHatEnterpriseLinux 7 原因/解決策 JMete…

  • 【JMeter/Linux】java.lang.Throwable: Could not access /usr/local/lib/ext..というエラー

    事象 Linux環境にてjmeterのパスを通すも以下のようにエラーとなる。 # jmeter --version java.lang.Throwable: Could not access /usr/local/lib/ext at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:106) java.lang.Throwable: Could not access /usr/local/lib/junit at org.apache.jmeter.NewDriver.<clinit>(NewDriver.java:106) java.l…

  • 【Bash/Linux】dateコマンドのdオプションでの日時と時刻の指定の仕方

    やりたいこと 指定した時刻のエポックタイムを出力したい。尚、エポックタイムの出し方自体は以下。 $ date +%s 1637932318 環境情報 GNU bash, version 4.4.12 release (x86_64-unknown-cygwin) やり方 dオプション(--dateオプション)にて以下のように日付/時刻を指定する。 $ date --date "2020/01/23 04:56:07" +%s 1579722967以下、補足です。 補足 日付情報だけであれば文字列をそのまま入力しても通りますが $ date --date 20200123 Thu Jan 23 …

  • 【Array/MotionPro】ネットワークが切れても自動的に再接続する設定

    やりたいこと Array SSL VPN/Motion Pro にてプロファイルを指定してVPN接続が完了してから、ネットワークが一時的に切れた場合も自動的に再接続する。 環境情報 Windows 10.0.18363 MotionPro for Windows 1.2.4 やり方 以下の画面の「VPN」タブの中にある「オプション」をクリック トップ画面そこから「グローバル設定」の中にある「その他のオプション」にて PCユーザがログオフした時はVPNをログアウトする という項目のチェックを外す。以下、補足です。 補足 Array SSL VPN/Motion Proでは設定項目に再接続を行うか…

  • 【Kubernetes】FailedCreatePodSandBoxでPodが起動しない事象

    事象 KubernetesにてPodの起動を試みるもステータスがContainerCreating/CrashLoopBackOffで起動に失敗し、Event欄を見ると以下のようなエラーが出ている。 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 118s default-scheduler Successfully assigned test/nginx-xx-8mpmp to .. Warning FailedCreatePodSandBox 68s (x25 over …

  • 【Sysdig Monitor】Host down is Triggered..とイベントが発行された際の誤検知確認

    事象 Sysdigをインストールした仮想マシン(Linux)から以下アラートが発行されるも Subject : Host is down is Triggered on host.mac = ... Trigger : timeAvg(avg(uptime)): 0.0000 /sマシンは正常稼働している。 環境情報 $ /opt/draios/bin/dragent --version 11.4.0 原因/解決策 Sysdig Agentとバックエンドのサービスで接続が切れている。具体的なログメッセージは以下。 .., Error, connection_manager:455: conne…

  • 【Podman/RHEL】generateを用いてコンテナを自動起動化する方法

    はじめに Dockerで行った以下の作業はPodmanだとより簡単に可能です。 本記事ではRHELにて特定コンテナを自動起動するための手順をメモしました。尚、ユーザはrootで実行しています。 環境情報 podman version 1.6.4 Red Hat Enterprise Linux Server 7.9 コンテナ作成 事前準備として今回はNginxコンテナを作成しました。 # podman run --name testweb -d -p 8080:80 nginx ... # podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS …

  • 【RHEL/Linux】root権限でもsudoersが編集できない事象

    事象 一般ユーザでもsudoコマンドを打てるように/etc/sudoersに対して編集をかけるも # ls -l /etc/sudoers -r--r-----. 1 root root .. /etc/sudoers権限が不足して編集ができない。 環境情報 Red Hat Enterprise Linux Server 7.9 Sudoers I/O plugin version 1.8.23 原因/解決策 visudoコマンドを利用する。 # which visudo /usr/sbin/visudo以下、補足です。 補足 visudoはsudoersファイルの編集に特化したコマンドで、s…

  • 【IBMCloud】SysdigMonitorのAPIにcurlを打つことで特定の情報を取得する

    はじめに IBM Cloud Monitoringサービスに対してcurlコマンドを打つことでCUIベースで情報を取得できます。 今回はサンプルとしてホスト名と時間を指定してCPU情報を取得する流れについて記載しました。 環境情報 $ curl --version curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL 事前準備 curlの構文は以下で規定されていて # curl -X <METHOD> <MONITORING_ENDPOINT>/<API_URL> <-H HEADERS,> [-d DATA]ヘッダー情報に以下が固有値として必須となっています…

  • 【ibmcloud】user-inviteコマンドでユーザを招待する

    やりたいこと IBM Cloud CLI(コマンド・ライン・インターフェース)でアカウントの新規追加を行う。 尚、GUIでは”IAM” -> "アクセスおよびユーザーの管理"->"ユーザーの招待"にて同操作は行える。 環境情報 $ ibmcloud --version C:\Program Files\IBM\Cloud\bin\ibmcloud.exe version 2.1.1... やり方 アカウントにログイン後に $ ibmcloud login ... Account: XX (xx) <-> YY以下コマンドでメールアドレスを付与してコマンド実行すると $ ibmcloud acc…

  • 【Bash/Linux】コマンドの実行結果をxargsで任意の場所に引数として渡す

    やりたいこと 以下のファイルがある際に cat hoge.txt 1 2 3cat hoge.txt | xargs echo a bのようにすることで例えば真ん中である a 1 b a 2 b a 3 bと出力させる。 環境情報 GNU bash, version 4.4.12 release (x86_64-unknown-cygwin) やり方 replace-strオプションを利用することで想定通りの出力とできる。 $ cat hoge.txt | xargs -I % echo a % ba 1 b a 2 b a 3 bまた、以下のようにすることで引数として出す場所を操作できる。 …

  • 【Kubernetes】imageGCManagerによってイメージの削除が行われる流れ

    はじめに Kubernetesクラスターにおけるコンテナ基盤はkubeletプロセスによって動作していますが、kubeletにはファイルシステムが一定以上になるとガベージコレクションを行う機能が存在します。本記事はコンテナイメージ領域の逼迫に伴い発動するイメージのエビクションについて説明しました。 環境情報 Kubernetes 1.21 imageGCHighThresholdPercent kubeletプロセスは/etc/kubernetes/kubelet-config.yamlを設定ファイルとして読み込んでいます。同ファイルはyamlで管理されており、例えばイメージを保管するファイル…

  • 【Watson/IoT】curlにて特定デバイスのEvent情報を取得するも403となる

    事象 Get all last events for a specific deviceと説明があるAPIを以下のように利用するも $ curl -X GET "https://xx.internetofthings.ibmcloud.com/api/v0002/device/types/test/devices/test_1/events" -H "accept: application/json" -H "authorization: Basic XX"以下のエラーとなる {"message":"CUDCS0106E: <missing messageId in bundle com.ib…

  • 【Watson/IoT】シミュレーターを利用して仮想のデバイスからデータを取得する

    はじめに IBM CloudにおけるInternet of Things Platformを利用するとIoTデバイスを一元的に管理できます。 同サービスの中でWatson IoT Platformにて、デバイスとデバイス・データをシミュレートすることで実デバイスの用意なしにIoTを体験してみました。 環境情報 Watson IoT Platform v7.0.28 環境準備 IBM Cloudの管理画面にてInternet of Things Platformをオーダーします。 するとリソースリストから同サービスが確認でき、その管理画面から以下のように”Watson IoT Platform”…

  • 【Vyatta】tcpdumpでパケットキャプチャを取得する

    やりたいこと tcpdumpコマンドでパケットキャプチャを取得する。 尚、Wiresharkで読み込ませるためpcapファイルで出力する。 環境情報 Debian 4.9.X-0vyatta2 tcpdump version 4.9. やり方 特権ユーザに昇格した上で $ su # 以下コマンドで指定したインターフェースの全パケットを60秒間取得できる。 # tcpdump -i dp0bond0 -s 0 -w ./test.pcap -W1 -G60 tcpdump: listening on dp0bond0.1361, link-type EN10MB (Ethernet), capt…

  • 【Bash/Linux】時間分秒の時刻データの差分秒数を取得する

    やりたいこと 以下のようなテキストファイルがあったとして $ cat test.log 20:17:30 20:17:35 20:17:39時刻の差分の秒数を表示したい。 環境情報 GNU bash, version 4.4.12 release (x86_64-unknown-cygwin) やり方 以下で時刻データをUTC形式に変換を行い $ cat test.log | awk '{gsub(/:/, " ", $1); print mktime("2000 01 01 "$1)}' 946725450 946725455 946725459同データに対して以下を実行すると #!/bin…

  • 【Kubernetes】Terminatingで固まっているPodを強制的に削除する

    やりたいこと 以下のようにStatusがTerminateingのまま変化しないPodを $ oc describe pod mongodb-5bc87db5bf-h5kbz ... Status: Terminating (lasts 27d) Termination Grace Period: 30sdeleteコマンドで削除する。尚、直接打つと以下で処理がフリーズする。 $ oc delete pod mongodb-5bc87db5bf-h5kbz --v=6 ... 20216 round_trippers.go:454] GET https://../pods?fieldSelec…

  • 【Kubernetes】SchedulingDisabledとなっているNodeにDaemonSetが存在し続ける理由

    はじめに 以下記事のようにNodeに対してdrainを発行して NodeのステータスをSchedulingDisabledとしているにもかかわらずDaemonSetに紐づくPodはそのNode上で動作し続けます。本記事ではその理由について説明しました。 環境情報 $ kubectl version Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0".. DaemonSet Podへの暗黙的なTolerations 結論としてはDaemonSetに紐づくPodsには以下のTolerationsが自動的に…

  • 【IT用語】CAPEXとOPEXの違いとは?

    はじめに 財務会計関連用語にて「CAPEX」と「OPEX」という用語があり、特にシステムのコストを扱う場面でよく表現として利用されます。 というわけで本記事ではIT系のビジネスマンが知っているべき本用語について解説しました。 一度きりか継続的か まずはCAPEXですが読み方は「キャペックス」でCapital expenditureの略です。 この用語は「設備投資」と略され、ITシステムにかかわらずに設備や土地といった固定資産の購入のために企業が消費する費用で、ITシステムにおいては「構築時」に計上されるものとなっています。一方でOPEXはと言うと「オペックス」と呼ばれ、Operating Ex…

  • 【Linux】partedとmkfsでファイルシステムを作成する

    はじめに lsblkでデバイス情報が見える状態でファイルシステムを個別に作成する手順について記載しました。 尚、ディスク全体をファイルシステムに割り当てる想定としています。 環境情報 Red Hat Enterprise Linux Server 7.9 パーティション作成 xvdcというパーティションが切られていないディスクがあることを確認し # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 102:0 0 25G 0 disk ├─xvda1 102:1 0 1G 0 part /boot └─xvda2 102:2 0 24G 0 …

  • 【ibmcloud】volume-modifyコマンドでディスクの拡張を行う

    やりたいこと IBM Cloud CLI(コマンド・ライン・インターフェース)でブロックストレージの拡張を行う。 尚、同ユーザにはオーダーの権限が付与されているものとする。 環境情報 $ ibmcloud --version C:\Program Files\IBM\Cloud\bin\ibmcloud.exe version 2.1.1... やり方 アカウントにログイン後に以下コマンドで拡張対象のストレージIDを確認し $ ibmcloud sl block volume-listストレージIDを入力した上で変更内容(今回はGBサイズ)を入力すると $ ibmcloud sl block …

ブログリーダー」を活用して、社外SEくんさんをフォローしませんか?

ハンドル名
社外SEくんさん
ブログタイトル
社外SE技術日記(OUTPUT)
フォロー
社外SE技術日記(OUTPUT)

にほんブログ村 カテゴリー一覧

商用