- 投稿日:2020-11-13T22:29:59+09:00
Docker for Macに付属のKubernetesにmetrics-serverをHelmでインストールする
概要
タイトルのとおり Docker for Mac に付属の Kubernetes クラスタに metrics-server を Helm を使ってインストールする方法のメモです。
インストール方法
基本的には下記のコマンドを実行するだけです。
$ helm repo add bitnami https://charts.bitnami.com/bitnami $ helm install metrics-server bitnami/metrics-server --namespace kube-system --set rbac.create=false --set apiService.create=true --set extraArgs.kubelet-insecure-tls=trueそれぞれのコマンドは下記を実行しています。
- helm に bitnami のリポジトリを追加(追加済みの場合は不要です)
- metrics-server をインストール1
これで少し待つと
kubectl top node
等でメトリクスが取得可能となります。$ kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% docker-desktop 521m 8% 1363Mi 19%
地味に難しかったのがコマンド引数に
--kubelet-insecure-tls
を指定する方法です。metrics-serverにはextraArgs
が用意されているのですが、デフォルトが[]
というのを見てextraArgs[0]=kubelet-insecure-tls
のように指定すると--0=kubelet-insecure-tls
に変換されてしまい動きません。 ↩
- 投稿日:2020-11-13T19:55:37+09:00
Macのdockのfinderでハイライト表示 するべ
スタックをハイライト表示
スタックの表示形式をグリッドにしたとき選択中の項目をハイライト
defaults write com.apple.dock mouse-over-hilite-stack -bool true
戻す
defaults delete com.apple.dock mouse-over-hilite-stack
マークダウン読もうと思った
- 投稿日:2020-11-13T14:43:39+09:00
theharvesterインストールと簡単な使い方
theharvester って?
- OSINT(open source intelligence)ツール
- ドメイン名から内包するホストやメールアドレス、名前、サブドメイン、IP、URLなどを探してくれる。
自ドメインのメールアドレスが、意図せず公開されていないか調べる時なんかに便利です。- KaliLinux だったら追加インストールする事なく利用出来ます。
- 検索エンジンを使って調べるので、マイナーなドメインだと殆ど情報が得られない事もあります。
- 沢山の情報ソースを利用できるけど、以下のうち太字のソースとSHODANを利用するにはAPIキーの登録が必要
baidu, bing, bingapi, certspotter, crtsh, dnsdumpster,
dogpile, duckduckgo, github-code, google, hunter,
intelx, linkedin, linkedin_links, netcraft, otx,
securityTrails, spyse(disabled for now), threatcrowd,
trello, twitter, vhost, virustotal, yahooインストール
今回はMacOS Catalina で利用するためにインストールから始めます。
楽をしたいので、brewを使ってインストールしちゃいます。kichise@imac ~ % brew install theharvester
brew: command not found が出る場合、Homebrewがインストールされていないかも知れません。
先に Homebrewのインストール を行いましょう。使い方
オプション一覧
kichise@imac ~ % theharvester -h table results already exists ******************************************************************* * _ _ _ * * | |_| |__ ___ /\ /\__ _ _ ____ _____ ___| |_ ___ _ __ * * | __| _ \ / _ \ / /_/ / _` | '__\ \ / / _ \/ __| __/ _ \ '__| * * | |_| | | | __/ / __ / (_| | | \ V / __/\__ \ || __/ | * * \__|_| |_|\___| \/ /_/ \__,_|_| \_/ \___||___/\__\___|_| * * * * theHarvester 3.1.0 * * Coded by Christian Martorella * * Edge-Security Research * * cmartorella@edge-security.com * * * ******************************************************************* usage: theHarvester.py [-h] -d DOMAIN [-l LIMIT] [-S START] [-g] [-p] [-s] [-v] [-e DNS_SERVER] [-t DNS_TLD] [-n] [-c] [-f FILENAME] [-b SOURCE] theHarvester is used to gather open source intelligence (OSINT) on a company or domain. optional arguments: -h, --help show this help message and exit -d DOMAIN, --domain DOMAIN company name or domain to search -l LIMIT, --limit LIMIT limit the number of search results, default=500 -S START, --start START start with result number X, default=0 -g, --google-dork use Google Dorks for Google search -p, --port-scan scan the detected hosts and check for Takeovers (21,22,80,443,8080) -s, --shodan use Shodan to query discovered hosts -v, --virtual-host verify host name via DNS resolution and search for virtual hosts -e DNS_SERVER, --dns-server DNS_SERVER DNS server to use for lookup -t DNS_TLD, --dns-tld DNS_TLD perform a DNS TLD expansion discovery, default False -n, --dns-lookup enable DNS server lookup, default False -c, --dns-brute perform a DNS brute force on the domain -f FILENAME, --filename FILENAME save the results to an HTML and/or XML file -b SOURCE, --source SOURCE baidu, bing, bingapi, certspotter, crtsh, dnsdumpster, dogpile, duckduckgo, github-code, google, hunter, intelx, linkedin, linkedin_links, netcraft, otx, securityTrails, spyse(disabled for now), threatcrowd, trello, twitter, vhost, virustotal, yahoo, all kichise@imac ~ %使用例
apple.com について、googleで調べる場合はこんな感じ
kichise@imac ~ % theharvester -d apple.com -b googleちなみに、テストした時は
googleは Hosts foound: 8 だったのに対して Yahooは Hosts found:155 でした。
実際に調べる時は、いろいろなソースを指定して検索してみるのが良さそうです。
- 投稿日:2020-11-13T12:15:23+09:00
キーチェーンとそのコマンドたち
きっかけ
最近キーチェーンを調べなければならないシーンがあったのですが、circleCI上での話だったのでCUIしか使えず。。。
GUIでしかキーチェーンの操作したことがなかった僕はとても困ったので記事にしました。キーチェーン概要
赤い枠の部分がキーチェーンたちで、「ログイン」が1個のキーチェーンになってます。
そして青い枠で、選択されているキーチェーン内にある項目の何を表示するかの絞り込みを行ってます。システムが認識できるキーチェインは2つで、
システムのキーチェインが1つとユーザーのキーチェインが1つのみになります。たぶん。。キーチェイン作成
security create-keychain {{キーチェーンパス}}
キーチェイン一覧
security list-keychains
システム側とユーザー側とで設定されているキーチェイン2つを表示します。
-d u
オプションでユーザーのキーチェーンが確認できます。読み込むキーチェインを追加します。
security list-keychains -s {{キーチェーンパス}}
キーチェインに証明書を追加します。
security import {{証明書パス}} -k {{キーチェーンパス}} -P {{password}} -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild
-T
オプションで、パスワードなしで許可するアプリを設定します。複数指定可能です。キーチェインの設定を行います。
security set-keychain-settings -t 3600 -l {{キーチェーンパス}}
-l
オプションは、スリープした時にキーチェーンをロックします。
-t 3600
オプションは、3600秒後にキーチェーンをロックします。実際にやってみよう!
キーチェーン一覧
まずはキーチェーン一覧を見てみます。
/Users/maruiyugo/Library/Keychains/login.keychain-db
が画像の「ログイン」というキーチェーンです。
/Library/Keychains/System.keychain
が「システム」キーチェーンですね。$ security list-keychains "/Users/maruiyugo/Library/Keychains/login.keychain-db" "/Library/Keychains/System.keychain"キーチェーン作成と設定
marui.keychain-db
キーチェーンを作成し、キーチェーンの読み込みを行いました。
最後にキーチェーンのリストを表示させています。
するとlogin.keychain-db
がmarui.keychain-db
に入れ替わったではありませんか!
キーチェーンアクセスをみても「ログイン」が「marui」になっています。$ security create-keychain ~/Library/Keychains/marui.keychain-db password for new keychain: retype password for new keychain: $ security list-keychains -s ~/Library/Keychains/marui.keychain-db $ security list-keychains "/Users/maruiyugo/Library/Keychains/marui.keychain-db" "/Library/Keychains/System.keychain"キーチェインに証明書を追加
適当なp12ファイルを追加してみました。
$ security import {{p12}} -k ~/Library/Keychains/marui.keychain-db -P {{password}} -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuildキーの中身を見てみると、オプションで指定した「codesign」「security」「productbuild」が許可されています。
まとめ
キーチェーンは今まで流されるままに使っていたので、今回調べて詳しくなれてよかったです。
記事がよかった!とかためになった!とか思ったら、励みになるのでLGTMおしてください!ないてよろこびます(๑>◡<๑)
- 投稿日:2020-11-13T11:05:04+09:00
[mac]スクリーンショットを超快適にしよう
Macでスクリーンショットを利用する際のtipsをシェアします。
スクリーンショットする際のショートカットキー
Command + Shift + 3
画面全体をキャプチャ。Command + Shit + 4
マウスで選択した範囲のみキャプチャ。
マウスカーソルの形状が変わるのでキャプチャしたい範囲をドラッグで決める。
ESCでキャンセル。保存せず、そのままクリップボードにコピーしたい場合
これ超便利!知らない人は人生半分損してる。。。
ドキュメント貼り付け作業が捗ります。Command + Shift + Control + 3
画面全体Command + Shit + Control + 4
マウス選択の範囲。上記のショートカットキー+Controlキーを押すだけ。
保存場所を変更
デフォルトではデスクトップに保存されますが、任意のディレクトリに移動できます。
デスクトップにスクショ溜まるのうざいので、これは良い!
コマンドラインから設定し、再起動すれば反映されます。↓今回は ~/Downloads/ に設定していますが、別のディレクトリも指定可能。
terminal$ defaults write com.apple.screencapture location ~/Downloads/ ↓デフォルトに戻す場合はこちら。設定値を削除するイメージです。 $ defaults delete com.apple.screencapture location↓やっぱりデフォルトに戻したい場合。
terminal$ defaults delete com.apple.screencapture location
保存形式を変更
デフォルトではpngで保存されます。
複数のファイル形式を指定できます。
用途に応じて保存時に形式変更できるので最高!
こちらもコマンドラインから設定し、再起動すれば反映されます。↓今回はjpgで保存する場合のコマンド。
terminaldefaults write com.apple.screencapture type jpg;まとめ
これであなたのスクリーンショットライフは超快適になること間違いなしですね!
参考
- 投稿日:2020-11-13T07:04:32+09:00
Macで三ヶ国語以上の入力を一発で切り替える方法 英語 / 日本語 / 韓国語
はじめに
友達が、韓国語のキーボードのMacで三ヶ国語の切り替えをキー1つずつで管理できたら良いなと言ってて、その子のパソコンをいじってたら設定できたので忘れないうちに書いておきます。
環境
友達のパソコンから書いてるので前の記事と環境が異なります。
MacBook Air (2019), Catalina 10.15.7
Visual Studio Code, 1.51.1問題点
Macの韓国語のキーボードはUS配列と同じなので、JIS配列と違ってスペースキーの左右にかな/英数のキーがありません。なので英数とかな、ハングルとかな、ハングルと英数などの二種類の切り替えはcaps lockのon offで管理できました。しかし3つ以上となるとmacのデフォルトの環境ではcontrol + option + spaceかcontrol + spaceで、かな→英数→ハングル→かな...のように順番に変えることしかできないのでめんどくさい。これをキー1つずつで管理しようと思った。
まずは言語の設定
システム環境設定→キーボードから韓国語を追加。ちなみにひらがなだけGoogle日本語入力使ってます(特に理由はない)。
かなと英数をKarabinerを使ってスペースキーの左右のコマンドで切り替えれるようにする
- Karabinerをダウンロードし、開く。
- 下図のAdd ruleをクリック。
- 画像の上の方にImport more rules from the Internet (open a web browser)をクリック。
- ブラウザが起動したらInternational (Language Specific)で検索しクリック。
- For Japanese (日本語環境向けの設定) (rev 5)をImportする。
- インポートを終えるとコマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな)の右に書かれているEnableをクリック。 この手順でかなと英数はコマンドキーで管理できるようになった。
左のoptionキーでハングルに切り替えるようにする
- KarabinerでMisk→Open config folder (~/.config/karabiner)までクリックしていくと、Finderが開きkarabinerのファイルが表示される。
- Finderに表示されているkarabinerからkarabiner→assets→complex_modificationsまで行くとjsonファイルが1つ確認できる。
- 次にVisual Studio Codeを開きjsonファイルを作る。名前は適当にhogehoge.jsonとする。
- hogehoge.jsonに下の内容を貼り付ける。
hogehoge.json{ "title": "独自ルール設定 v1", "rules": [ { "description": "左optionキーを押すと韓国語入力に切り替わる", "manipulators": [ { "type": "basic", "from": { "key_code": "left_option", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "left_option", "lazy": true } ], "to_if_held_down": [ { "key_code": "left_option" } ], "to_if_alone": [ { "select_input_source": { "language": "ko" } } ] } ] } ] }5.これを2で確認したjsonファイルと同じところに保存する。
6. KarabinerでAdd ruleから独自ルール設定 v1をEnableする。
以上で、左のoptionキーでハングルに切り替わる。最後に
最近は周りに韓国語話せる人も増えてきたと感じていたが、キーボードもハングルの人ははじめて見た。ちなみにjsonそんなに詳しくありません。色々調べてみたらできたって感じです。
おまけ
今回は3言語目を韓国語でoptionキーに設定しましたが、他の言語にも設定できます。↑に載せたjson
ファイルの一番最後の行の"language": "ko"
の"ko"は韓国語を示すios端末の言語環境の値っぽいのでこの参考記事を見たらできると思います。
- 投稿日:2020-11-13T05:14:09+09:00
MacでAndroidをビルドする際に参考にしたサイト
macでunityをビルドしてAndroid実機でテストする方法
https://note.com/pes88/n/n2141cffd2f8fUnityでAndroidにビルドする(Mac)
https://sh-lu0.hatenablog.com/entry/2018/12/09/Unity%E3%81%A7Android%E3%81%AB%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%28Mac%29Unity2018インストールからAndroidビルドするまでの手順
https://qiita.com/taroyan/items/2ff7f6aadd640221bde5
※このサイトが一番参考になったAndroid Studioは結局使ってない。どこかで使うシーンが出てくるんだろうが、テスト用にAndroidのスマホにビルドしたアプリを入れるだけなら必要なかったので、案外楽チンだった
- 投稿日:2020-11-13T01:33:00+09:00
俺の環境構築 pipenvとpyenvでの仮想環境構築からJupyter Notebookを使うまで
はじめに
よくmacでの環境構築方法を忘れてしまうので,メモ程度で書いておきます.流れとしては新品もしくは初期化状態からの説明を書いていくつもりです.
環境
MacBook Pro (2020), Catalina 10.15.7
Homebrewとは
macOS上でパッケージの管理をするシステムのこと.環境構築をする時や,パッケージのインストールなどに使う.
Xcodeのインストール
まずHomebrewをインストールする際に必要なXcodeからインストールします.以下のコードをTerminalで実行するだけでインストールされます.
$ xcode-select --installたまに原因不明(おそらくmacOSとXcodeのヴァージョンの不一致)で上手くXcodeをインストールできない時があり,下記のようになるが,,,
$ xcode-select --install xcode-select: note: install requested for command line developer toolsこの場合は↓の記事で解決方法を書いたのでそれを参照してください.
Xcodeをインストールできなかった時の対策Homebrewのインストール
以下のコードをTerminalで実行する.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"Homebrewのパッケージのインストール
$ brew install pyenv # pyenvパッケージのインストール $ brew install pipenv # pipenvパッケージのインストールpipenvとpyenvでの環境構築
まずはpythonのインストール
$ pyenv install 3.8.23.8.2のところは自分の入れたいpythonのヴァージョンを指定してください.3.9.0だとPytorchが入らなかったので以前のパソコンで使っていた3.8.2を入れました.
シェルの設定
macOSはCatalinaからデフォルトのシェルはzshになっているので.zprofileに書き込みます(ちなみにbashでもできる).
$ nano ~/.zprofile #.zprofileを開くコマンド下記の内容をコピペして貼り付ける.
.zprofileexport PYENV_ROOT=${HOME}/.pyenv if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init -)" fi書き込んだら,control + x → y → returnで戻れる.
次に下のコマンドで先程書き込んだ内容を反映させる.$ source ~/.zprofileディレクトリを作り仮想環境を作る
とりあえずディレクトリの名前をhogehogeとして作ります.
$ mkdir hogehoge次にhogehogeに移動する.
$ cd hogehogepythonのヴァージョンを指定する.
hogehoge$ pyenv local 3.8.2 #3.8.2の所は自分の使うpythonのヴァージョンを指定してくださいpythonのヴァージョンを確認.
hogehoge$ pyenv version 3.8.2 (set by /Users/ホームディレクトリ名/hogehoge/.python-version)python 3.8.2の仮想環境を作る.
hogehoge$ pipenv --python 3.8.2 Virtualenv already exists! Removing existing virtualenv... Warning: the environment variable LANG is not set! We recommend setting this in ~/.profile (or equivalent) for proper expected behavior. Creating a virtualenv for this project... Pipfile: /Users/ホームディレクトリ名/hogehoge/Pipfile Using /Users/ホームディレクトリ名/.pyenv/versions/3.8.2/bin/python3.8 (3.8.2) to create virtualenv... ⠏ Creating virtual environment...created virtual environment CPython3.8.2.final.0-64 in 547ms creator CPython3Posix(dest=/Users/ホームディレクトリ名/.local/share/virtualenvs/hogehoge--aKlzNkT, clear=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/ホームディレクトリ名/Library/Application Support/virtualenv) added seed packages: pip==20.2.4, setuptools==50.3.2, wheel==0.35.1 activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator ✔ Successfully created virtual environment! Virtualenv location: /Users/ホームディレクトリ名/.local/share/virtualenvs/hogehoge--aKlzNkT Creating a Pipfile for this project...上の様になれば上手くいってます.
仮想環境に入る
このコマンドで仮想環境に入ります.
hogehoge$ pipenv shell Launching subshell in virtual environment... . /Users/ホームディレクトリ名/.local/share/virtualenvs/hogehoge--aKlzNkT/bin/activate ~/hogehoge: . /Users/ホームディレクトリ名/.local/share/virtualenvs/hogehoge--aKlzNkT/bin/activate (hogehoge) $一番下の行の一番左に(hogehoge)があれば仮想環境に入れてます.
ちなみに仮想環境を出るときはexitと打てば出れます.pythonのライブラリのインストール
まずnumpyを入れてみる.
(hogehoge)(hogehoge) $ pipenv install numpy Installing numpy... Adding numpy to Pipfile's [packages]... ✔ Installation Succeeded Pipfile.lock not found, creating... Locking [dev-packages] dependencies... Locking [packages] dependencies... Building requirements... Resolving dependencies... ✔ Success! Updated Pipfile.lock (456e4b)! Installing dependencies from Pipfile.lock (456e4b)... ? ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00入っているか確認してみます.
(hogehoge)(hogehoge) $ cat pipfile [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] numpy = "*" [dev-packages] [requires] python_version = "3.8"packagesのところを見るとnumpyが入ってることを確認.
こーゆー感じでライブラリを入れていきます.Jupyter Notebookを使う
Jupyter Notebookの導入と立ち上げ
さっそくjupyter notebookをインストール.
(hogehoge)(hogehoge) $ pipenv install jupyter notebook Installing jupyter... Adding jupyter to Pipfile's [packages]... ✔ Installation Succeeded Installing notebook... Adding notebook to Pipfile's [packages]... ✔ Installation Succeeded Pipfile.lock (456e4b) out of date, updating to (b58be4)... Locking [dev-packages] dependencies... Locking [packages] dependencies... Building requirements... Resolving dependencies... ✔ Success! Updated Pipfile.lock (b58be4)! Installing dependencies from Pipfile.lock (b58be4)... ? ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00上の様になれば成功です.
次にJupyter Notebnookを立ち上げます.(hogehoge)(hogehoge) $ jupyter notebook立ち上げるとブラウザが開き下図が表示されます.右側に見えるNewをクリックしPython3を選んでください.
しっかり使えてます.これで一通り環境構築は終わりです.あとは自分の使うライブラリをインストールしていってください.終了のさせかたはググってください笑
最後に
初心者にもわかりやすく伝わるように書いたつもりです.なにか修正点や追記したほうが良いことなどがあれば教えて下さい.ちなみに自分はJupyter LabよりJupyter Notebook派です(一応どっちも入れてる).理由はコマンドでタブの移動ができるという点だけなんですけど.でもJupyter Notebookは開発が終わり,Jupyter Labに移行すると公式が発表してるらしいのでJupyter Labに切り替えた方が良いのかなと思ったりします.Jupyter Labの入れ方はググれば結構記事が出てくるので,Jupyter Labを使いたい人はそっちを参考にしてください.この記事のpythonのライブラリのインストールまでは手順は一緒で大丈夫です.
おまけ
system全体のpythonのヴァージョンを変更する.(インストールしたヴァージョンしか使えない).
$ pyenv global x.x.x #x.x.xには自分の指定したいヴァージョンを入れるライブラリを一気にインストールする
$ pipenv install numpy pandas matplotlib ...上の様に一括でインストールできるが,Jupyter Notebookの様に間にスペースが入るやつを入れると失敗するので気をつけてください.
毎回pipenv shellをしないでディレクトリ移動時に自動で仮想環境に入る
.zprofileに下のやつを書き込んでください.すると毎回自動で仮想環境に入ってくれます.
.zprofile# run pipenv shell automatically function auto_pipenv_shell { if [ ! -n "${PIPENV_ACTIVE+1}" ]; then if [ -f "Pipfile" ] ; then pipenv shell fi fi } function cd { builtin cd "$@" auto_pipenv_shell } auto_pipenv_shell