zaki work log

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

朝活

[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

CentOS7のIPv6無効をAnsibleで設定する・おまけ:sshをIPv4で動かす

- hosts: localhost become: true tasks: - name: disable ipv6 sysctl: name: '{{ item }}' value: '1' with_items: - net.ipv6.conf.all.disable_ipv6 - net.ipv6.conf.default.disable_ipv6 こんな感じ

ansible-playbook実行時のタスク毎の実行時間を表示する

タスクごとの実行時刻と統計を表示するcallback_whitelist = profile_tasksを試す。 元ネタはOpenShiftのデプロイ用Ansibleのansible.cfgから。 こんな感じ

[Ansible] deprecatedになってるvsphere_guestを使ってESXi上でVMを自動生成する

10/15 21時追記: タイトルと、"はじめに"部分を大きく修正 Ansibleを使ったESXiでのVM作成などを行うモジュールがいくつかあり、deprecatedなのを承知でvsphere_guestを使ってみたときの作業手順。 ドキュメントの"DEPRECATED"の項目を見れば明記されてるけ…

Ansibleのアドホックコマンドで複数ホストに対してコマンドをまとめて実行やファイル転送をワンショット実行

最近チームで障害調査の割合が増えだしたのでざっとまとめてみた。 ansibleコマンドを使って複数ホストに対して同じ処理を同時に行う。 メンテや障害調査で何十台もあるホストに同じコマンド実行したりログ収集したり。 普段はansible-playbookで作成したpla…

無償ライセンスのESXiだとgovcでVM作れなかった

zaki@stilton:~$ ./govc_linux_amd64 vm.create \ > -m 2048 \ > -c 2 \ > -g rhel7_64Guest \ > -net.adapter vmxnet3 \ > -ds datastore1 \ > -disk.controller pvscsi \ > test-vm ./govc_linux_amd64: ServerFaultCode: Current license or ESXi version…

Eclipse Che (6.19.0) のお試し実行

コンテナ環境で動作するEclipse Cheお試し document 現在はver7がつい最近リリースされている。 ただ、ver7はドキュメントを見る限り、dockerコマンド単体でなくchectlを別途用意してそこから動かすっぽい(あと、見た感じだとオーケストレーション環境寄りに…