zaki work log

作業ログやら生活ログやらなんやら

朝活

Tera Termのsshアクセスの認証をコマンドラインオプションで自動化する

WindowsクライアントからTera Termを使ってsshログインしてるけど毎回パスワード入力してるのが面倒な場合、パスフレーズ無し公開鍵を作って公開鍵認証のコマンドラインオプションを設定すればダブルクリックでsshできます。 ssh関連オプション ショートカッ…

[kubectl / oc] ネームスペースの作成と削除と切り替え (コマンドメモ)

kubectxを使わずkubectlで済ます方法。 namespaceを作る kubectl create dry-run マニフェストから namespace切り替え namespace削除 kubectl delete マニフェストから OpenShiftだと 作成 切り替え 削除 namespaceと違うとこ 環境 namespaceを作る kubectl …

PowerShellのワンライナーでExcelの表とMarkdownの表をサクッと変換する

宗派に反して業務上Excelで表を作らざるを得ないけど手元ではMarkdownで編集したい!残したい!というあなたへ。 Excel → Markdown Markdown → Excel(TSV) 簡単に解説 Cygwinの場合 環境 Excel → Markdown こんな表があったとして、 Excelの変換したい部分を…

[Ansible] playをまたいだ変数保持をdelegate_toとfact変数で行う (Ansibleでkubeadmのworkerノード追加)

task(1)の実行結果を保持してtask(2)の入力にする、であればregisterを使って可能だけど、play(A)の実行結果を保持してplay(B)の入力にするには、、、registerで保持できる変数のスコープはplay内(←この認識は誤り)で、環境変数なんかはAnsibleから更新する…

[Ansible] untilを使って非同期処理が完了するまで次のtaskを待つ

例えばK8s環境でpodをデプロイするマニフェストをapplyしてRunningになるまで待つとか。 手作業のときにkubectl get podでRunningになるまで何度も再実行して(もしくは-wつけて)、Runningになったのを目視確認したら次のコマンドを打つ、みたいな作業をAnsib…

[kubectl / oc]コンテキストやクラスタ情報の確認 (コマンドメモ)

OpenShiftだとoc loginやoc project使ってあまり意識しないので簡単にまとめ。。 設定情報 $ kubectl config view apiVersion: v1 clusters: - cluster: certificate-authority-data: DATA+OMITTED server: https://k8s-master.esxi.jp-z.jp:6443 name: kube…

[kubernetes] kubeadmで構築した後トークン失効後にworkerノードを追加する

kubeadmでクラスタ構築するとworkerノード追加のためのコマンドが表示されて簡単にノード追加できるが、使用するtokenの期限が(デフォルトでは24時間で)切れてしまうため、同じ引数でkubeadm joinしてもこの通り、失敗する。 [zaki@k8s-worker03 ~]$ sudo ku…

[kubectl / oc] get eventなどの一覧表示を時系列で表示してみる(--sort-by)

大抵のオブジェクトには、作成されたタイミングで.metadata.creationTimestampという定義が付与されます。 これを、kubectl/ocの汎用オプションの--sort-byに指定することで、出力の表示順を作成日でソートできます。 使い勝手が良いのは、デフォルトでは時…

rsyslogでリモートへログを送りつける設定

今回は、リモートのrsyslogへログを送りつける設定について。 (図の左側のrsyslogの設定です) 対向のrsyslog(図の右側)は前回の記事の、リモートからログの受信を受け付けるrsyslogの設定が入ってる前提 zaki-hmkc.hatenablog.com 基本 実は/etc/rsyslog.con…

[Python] オフライン環境でpipする

インターネットに繋がらないホストでpip installするには、パッケージファイル指定インストールかローカルPyPIサーバを用意する。 普通にやっても [zaki@centos1 ~]$ pip install pypdf2 Collecting pypdf2 Retrying (Retry(total=4, connect=None, read=Non…

yumdownloaderを使ってインストール済みのrpmパッケージファイルをダウンロードする

既にインストール済みのパッケージだと [root@manager rpms]# yum install --downloadonly --downloaddir=. python2-pip 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile epel/x86_64/metalink | 6.4 kB 00:00 * base: ftp-…

yum updateするときに特定のパッケージを更新対象外にする

色んな事情でyumでインストールした特定パッケージのバージョンを固定したい(アップデートしたくない)場合の設定について。 環境 お題 準備 epelを追加 updateを確認 除外設定 (a) --excludeオプションで指定 (b) /etc/yum.conf に設定 うっかりアップデート…

既存のGitLab CE on Dockerに、Runnerコンテナも追加してCI/CD環境をつくる

Dockerで動かしてるGitLab CEにGitLab Runnerもコンテナで追加して、GitLab CE本体とRunnerを同じDocker上(別コンテナ)で動かして、初めてのGitLab Runnerお試し。 構成の概要としてはこんな感じ。 お題 Runnerコンテナの起動 Runnerの設定 GitLab CEでトー…

[oc / kubectl] run --commandを使って何もしないpodや一定時間後に任意のリターンコードで終了するpodをデプロイ

tail -f /dev/nullやsleep,exitを使ってデバッグや動作確認用に。 run実行で作成されるworkloadsリソースについては以下も参照。 zaki-hmkc.hatenablog.com usage runningするだけで何もしないpod 60秒後に実行完了するpod 60秒後にエラーで完了するpod 任意…

Ansibleのyum_repositoryモジュールを使ってyumインストール用のリポジトリを追加する

/etc/yum.repos.d/以下の設定ファイルをAnsibleを使って作成する方法。 ドキュメント yum_repository – Add or remove YUM repositories — Ansible Documentation お題 zaki-hmkc.hatenablog.com このクライアント側のyum設定 playbook --- - hosts: localho…

(コマンドメモ)ssh経由でリモートのファイル一覧をtarする

たまに使うので備忘録 リモートの/home/zaki/work/ansibleをローカルにansible.tar.gzとして固める [zaki@manager-dev ~]$ ls [zaki@manager-dev ~]$ [zaki@manager-dev ~]$ ssh zaki@192.168.0.19 tar cz /home/zaki/work/ansible | cat - > ansible.tar.gz…

パラメタの多いdocker runをdocker-composeを使ってYAMLで定義する(GitLab CE編)

docker runのパラメタが多いと設定変更して再実行しづらかったりメンテが大変なので、YAMLに書いてdocker-composeで実行すれば色々と便利です。 ということで、お題として以下のGitLab CEを起動するdocker runをdocker-composeで動かせるようにしてみます。 …

[OpenShift] buildconfigへのsecret追加はoc set build-secretで可能

こっちのエントリではoc edit使って手動でsecret設定してましたが、oc set build-secretを使ってコマンドでも設定できます。 zaki-hmkc.hatenablog.com helpメッセージを見ればわかるけど、source用の設定以外にもpull/pushのsecret設定があるみたい。 sourc…

[OpenShift]プライベートに立てたGitLab CEのGitリポジトリからS2Iビルドする(OKD / CRC)

GitHubのリポジトリからだったらnew-appで一発で動くんだけど、プライベート環境のオレオレ証明書のGitリポジトリの場合について。 デプロイ対象のアプリ自体は以前Minishift用に作ったこれです。 qiita.com ソース github.com このリポジトリのデータをそっ…

GitLab CEのDockerコンテナイメージを使って、ローカルにGitLab CEをサクッとたてる(https + Container Registry込み)

DockerHubで公開されているGitLab CEのコンテナイメージを使えば、簡単にGitLabをローカルに立てることができます。 GitLab CEをDockerで動かす GitLab CEでコンテナレジストリを動かす はそれぞれ先人たちのブログ記事とか見つかる(ありがとうございます!)…

リモートのLinuxサーバに入れたCodeReady Containersのwebコンソールにsshのポートフォワードを使ってアクセスする

手元のデスクトップPCにCodeReady Containersを入れた場合は、そのPCのブラウザを使えば特に問題ないけど、リモートのCodeReady Containersだと、コンテナ環境はネットワークが異なるので外からはアクセスできない。 CRCが動いているLinuxサーバ上でnatとか…

PowerShellで写真のExifから焦点距離・カメラ・レンズ情報を取得する

追記: カメラのモデル名とレンズも取得(後述) param($file) [void][Reflection.Assembly]::LoadWithPartialName("System.Drawing") $image_exif = New-Object System.Drawing.Bitmap($file) # 35mm換算焦点距離のExif Tagは41989 $flen_values = ($image_exi…

(備忘録)bashのforループ

半年に1回くらいググってるのでいい加減メモしておこ $ for image in `sudo docker images | grep ... | awk '{print $1}'`; do sudo docker push $image; done docker rmiみたいに複数の引数を取れるものはxargs使えばいいけど、そうじゃない場合はforで。 …

(OKD 3.11) logging (Elasticsearch)を16Giより少ないリソース設定でデプロイする

デフォルト設定だとrequestが16Giに設定されるため、RAM16GBのノードへはどうしてもデプロイできず、より大きいサイズのRAMが必要のため、検証環境なんかだとそのスペックを用意するのが難しかったり。。 そこで openshift_logging_es_memory_limit=8Gi 新規…

ラベルとjsonpathを使ったkubectl/ocの出力のフィルタリング

grepやawkが便利なのでそれ使うのもいいけど… ラベル ラベル一覧を表示する 指定ラベルを出力カラムの一つとして表示する 指定ラベルを持つリソース(今回はpod)のみ表示する jsonpath 特定リソースの指定項目を表示 podのIPアドレスとデプロイしているノード…

Ansibleの呼吸 肆ノ型 フィルター芸「0,1反転」 ワンライナー編

元ネタです qiita.com 別解編 tekunabe.hatenablog.jp qiita.com ということで、私も試してみました。 フィルター + ansibleアドホックコマンドでワンライナー編 $ cat before_number.txt 001010101010101010010101 111000101010100111010011 10000101010000…

CodeReady Containers 1.2.0がVirtualBoxでデプロイできなくなったので1.1.0のcrcで無理やり動かしてみる(未成功)

12/4追記: 成功編含めてv1.2.0時点でのHyper-V/VirtualBoxでの動作状況をまとめました qiita.com

OpenShift Origin (OKD) 3.11 でHawkular Metricsがデプロイできました

zaki-hmkc.hatenablog.com 9月末にお手上げだったこの事象、解決してCassandra/Hawkular/Heapsterのデプロイができるようになってました。 bugzilla.redhat.com 朝起きてチェックしたらステータスがCLOSED CURRENTRELEASEになっていたので、もしかしてうまく…

【ESXi】仮想スイッチとポートグループを作成してVMにネットワークを追加

プライベートネットワークの作成 ESXiをインストールすると物理NICに紐づいたデフォルトの仮想ネットワークが作成されるけど、検証用に新しく別のネットワークを作成したときのログ。 プライベートネットワークの作成 仮想スイッチの作成 ポートグループの作…

Ansibleで trick or treat🎃

Ansibleのwhenの制御構文条件指定、あまり得意ではない(あまり使わないから)ので思い付きでいろいろ試してみた! --- - hosts: localhost tasks: - debug: msg: Happy Halloween when: trick or treat