gashirar's blog

ウイスキーがすき/美味しいものがすき/k8sがすき

ウイスキーあれこれスクラップ 20200831号

ウイスキー関連ニュース

映画「キングスマン」 x グレンドロナックのコラボボトル発売!

thewhiskeywash.com

前作「キングスマン:ゴールデン・サークル」の公開の際にも特別なドロナックが発売されましたが、今作「キングスマン:ファースト・エージェント」でもコラボボトルが発売されます。
ゴールデンサークルの時の「グレンドロナック1991 キングスマンエディション」は下記に在庫があるようですが税込み20万円弱・・・もともとは$705なのでなかなかのプレミア価格。

グレンドロナック 1991 キングスマンエディション | 武川蒸留酒販売

ファーストエージェントコラボボトルのスぺックは下記の通りです

  • 29年熟成
  • アルコール度数50.1%
  • 一次熟成にオロロソシェリー樽、二次熟成にはペドロヒメネス樽を使用
  • 3,052本(シリアルNo入り)
  • $1,299

ちなみに「キングスマン:ファースト・エージェント」は先日米国での公開が2021年に延期されることが発表されました・・・日本の公開は9月25日とされていますが、予定通り公開されて欲しいですね。

www.foxmovies-jp.com

アードベッグ トリー・バン19年のバッチ2が近々発売

www.whisky.com

去年からアードベッグの定番商品として発売された「アードベッグ トリー・バン19年」ですが、今年のリリースが近々されるそうです。
まだ日本のMHDからのプレスは出ていませんが、そのうち出るかと思われます。

WHISKEY MEWより「北斗の拳」ラベルウイスキーが発売

whiskymew.jp

ケンシロウラベルはティーニニック1999、ラオウラベルはグレントファース1997。
ラベルはいかついですが二つとも穏やかな味わいの銘柄ですね。

詳しいスペックや金額についてはリンク先をどうぞ。

最近飲んで美味しかったやつ

ボウモア18年

f:id:gashirar:20200830234544j:plain
ウイスキーセミナーのボトル

先日行われた「土屋守テイスティングセミナー2020」でのテイスティングアイテムでした。
何度か飲んだことはあるのですが、やっぱり美味しい。
12年と比べるとよりシェリー感が出ていて「アイラの女王」にふさわしい味わいになっています。そしてなにより1万円を前後で買えるのもお財布には優しい。

ブナハーブン トチェック・アガー

トチェックはゲール語で「スモーキー」、アダーは「2」を意味するらしいです。
通常ノンピートなブナハーブンにピートをきかせた異色作、「トチェック」の2つ目の商品と言うことで「トチェック・アガー」でしょうか。

多分シェリー樽由来の甘い感じが好みでした。お値段も高くないので買ってもいいかも。

ウイスキーあれこれスクラップ#2

ウイスキー関連ニュース

山崎55年が香港のオークションで8,400万円(79万ドル)で落札!

https://thewhiskeywash.com/whiskey-styles/world/a-single-yamazaki-55-year-ld-sells-for-795000-at-auction/thewhiskeywash.com

ジャパニーズウイスキーの落札額では過去最高値とのこと。
もともと1本330万円なので、とんでもない値上がり率です。

ウイスキー専門サイト「WHISKY MEW」の新商品は「BLUE GIANT SUPREME」コラボ

prtimes.jp

8月28日正午発売です。中身はトーモアとのこと。

ブルー ジャイアント シュプリーム・ラベルトーモア1995

『ブルー ジャイアント シュプリーム』ラベルウイスキー・トーモア1995
販売価格 21,000円+税
発売日 2020年8月28日(金)昼12時より
総本数218本。700ml。
熟成年数24年。アルコール度数47.2%。
原材料はモルト。原産地はスコットランド(英国)。

サンシャインウイスキーを使った生チョコレートが発売

prtimes.jp

竹鶴を使ったチョコレートはこの間食べました。
個人的には竹鶴チョコレートではなく一緒に売っていた紅茶のチョコレートがめちゃくちゃ美味しかったのでまた食べたいですね。

竹鶴ピュアモルト生チョコレート | 生チョコレート発祥のお店 シルスマリア

200周年を記念して限定ラベルのジョニーウォーカーRED/BLACK/GOLDが発売

www.thespiritsbusiness.com

ラベルのデザインが違うボトルが登場です。

最近飲んで美味しかったウイスキー

ハイランダーイン クライヌリッシュ1995 23年

f:id:gashirar:20200823105231j:plain

クライヌリッシュらしいクライヌリッシュ。
見かけたら是非。

ハイランダーインではこの間マギーズコレクションのダルユーインも飲みましたが、こちらもお勧めです。

e-singlemalt.co.jp

テレワーク飯(豚ニラ玉そうめん)

cookpad.com

テレワーク中のご飯、最近は今まで作ったレシピを使いまわしていたので新しいものにチャレンジしていなかったので久しぶりの新しいメニュー。
暑い夏にぴったりで非常に好評だった。また作りましょう。

温泉卵はヘルシオホットクックでつくってもらいました。これなんでもできてすごい。加熱しすぎる心配もないし。

豚肉、夏バテに効くそうです。そこに様々な栄養価が含まれるニラ、そして完全栄養食品とも呼ばれる卵。すごい料理だ。

resumica.jp

TerraformのState FileをOracle Cloud Infrastructure Object Storageに入れる

はじめに

下記をなぞったときのメモです。

青色の文字のところはコメントです。

Object Store Backend - Terraform by HashiCorp

Using the Object Store for Terraform State Files

概要

BackendにState Fileを配置するアプローチとしては下記の2つが利用できる。

  • Using an HTTP remote state backend
    • REST Clientで配置する方法
    • 事前承認済みリクエストを使ってバケットにアップロードする※
  • Using an S3-compatible remote state backend
    • S3互換の方法

※事前承認済みリクエストについて

事前認証済リクエストの使用

重要 バケットまたはオブジェクトへの事前認証済アクセスのビジネス要件およびセキュリティの影響を評価します。 事前認証済リクエストURLは、URLを持っているユーザーに、リクエストで特定されたターゲットへのアクセスを提供します。URLの配布は慎重に管理してください。

上記の記載があるので、セキュリティの観点から今回はS3互換方式で検証しました。

環境

$ terraform -version
Terraform v0.12.26
+ provider.oci v3.87.0

Using an S3-compatible remote state backend

S3互換API Keyの作成

Amazon S3互換API

ユーザー資格証明の管理

Keyの配置

下記のようなCredential Fileを~/.aws/credentialsに配置。

[default]
aws_access_key_id=<id>
aws_secret_access_key=<key>

Terraformの設定

terraform {
  backend "s3" {
    bucket   = "terraform-state"
    key      = "terraform.tfstate"
    region   = "ap-tokyo-1"
    endpoint = "https://<Namespace名>.compat.objectstorage.ap-tokyo-1.oraclecloud.com"

    skip_region_validation      = true
    skip_credentials_validation = true
    skip_requesting_account_id  = true
    skip_get_ec2_platforms      = true
    skip_metadata_api_check     = true
    force_path_style            = true
  }
}

上記のskip_get_ec2_platformsskip_requesting_account_idはDeprecatedだと警告が出ますが、いったん無視して実行。

疎通

OCI Object Storageに格納されていることが確認できました。

f:id:gashirar:20200817210500p:plain

現状の制約や課題

Add support for multiple remote .tfstate stored on OCI bucket · Issue #919 · terraform-providers/terraform-provider-oci · GitHub

S3互換Backendの場合はTerragruntのようなツールの利用はむずかしそうです。

ウイスキーあれこれスクラップ

ニュース関連

中国向けにボウモア37年発売

www.thespiritsbusiness.com

鳳凰のデザインがカッコイイですね。全4弾のシリーズもので、去年は龍をデザインしたボトルが出ていたようです。

Bowmore targets China with Dragon Edition

World Whiskeys Masterで高評価を出した10本

www.thespiritsbusiness.com

日本からは「Umiki」というウイスキーが挙げられていました。

(ジャパニーズウイスキーってなんなんだろうという気もします・・・。)

ニッカの新商品「ニッカ セッション」が9月末に発売

予約も始まっているようですが、残念ながら逃しました・・・。
ベンネヴィス/余市/宮城峡+αな感じでしょうか。流通してくれるといいなぁ。

「ザ・マッカラン エディション No.5」数量限定新発売

こちらも9月末発売予定。

エディション No.4は以前いただきましたが中々に美味しかったのでこれも楽しみです。
個人的に買うのはちょっと高いので、バーでいただきたいところ。

www.suntory.co.jp

最近飲んで美味しかったもの

シークレットハイランド 1987 31年 ホグスヘッド #26 妖狐 エイドロン クラシック

ultimatespirits.jp

中身はグレンモーレンジィだそう。この芳醇な香りは長期熟成のたまものです。

グレンアラヒー11年 モスカテルウッドフィニッシュ

whisk-e.co.jp

お手頃なお値段で甘め。
暑い時期に飲むにはちょっと甘くて濃厚ですが、ゆったり飲むのにぴったりな感じでした。

jq/yqのwalk関数で特定の項目をすべて削除する

はじめに

いろいろなところでお世話になるJSON/YAMLですが、時には特定の項目を一括で削除したいなんて時があります。

個人的なところだとKubernetes周りでJSON/YAMLにお世話になっていますが、Kubernetes 1.18からmetadata配下にmanagedFieldsが追加されました。 kubectl get pod -o yamlなどでyamlを出力して閲覧する際、この項目がなかなかの量出てくるので、そういったものを手軽になんとかしたいなぁという記事です。

実行環境

  • jq 1.6
  • yq 2.10.1

コマンド

jq '. | walk(if type == "object" and has("[項目名]") then del(.[項目名]) else . end)'

または

yq -y '. | walk(if type == "object" and has("[項目名]") then del(.[項目名]) else . end)'

使用例

kubectl get pod -o yaml | yq -y '. | walk(if type == "object" and has("managedFields") then del(.managedFields) else . end)'

K8s特化で高機能なものが欲しい貴方へ

kubectl neat Pluginを使いましょう!

github.com

kubeadm alpha kubeconfig userでユーザを払い出す

はじめに

Kubeadmで環境を構築した際、cluster-adminなUserのkubeconfigファイルはMaster Nodeの/etc/kubernetes/admin.confに出力されます。
それ以外にX.509 Client Certificate BasedなUserを払い出したい場合はMaster上のCAなどでいろいろやる必要があると思っていたのですが、kubeadmに生成するためのサブコマンドが含まれていました。

kubeadm alpha kubeconfig userコマンド

特定のUserを指定してkubeconfigファイルを生成してくれるコマンドになります。

--helpについては下記の通り。

Output a kubeconfig file for an additional user.

Alpha Disclaimer: this command is currently alpha.

Usage:
  kubeadm alpha kubeconfig user [flags]

Examples:
  # Output a kubeconfig file for an additional user named foo
  kubeadm alpha kubeconfig user --client-name=foo

Flags:
      --apiserver-advertise-address string   The IP address the API server is accessible on
      --apiserver-bind-port int32            The port the API server is accessible on (default 6443)
      --cert-dir string                      The path where certificates are stored (default "/etc/kubernetes/pki")
      --client-name string                   The name of user. It will be used as the CN if client certificates are created
  -h, --help                                 help for user
      --org strings                          The orgnizations of the client certificate. It will be used as the O if client certificates are created
      --token string                         The token that should be used as the authentication mechanism for this kubeconfig, instead of client certificates

Global Flags:
      --add-dir-header           If true, adds the file directory to the header
      --log-file string          If non-empty, use this log file
      --log-file-max-size uint   Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
      --rootfs string            [EXPERIMENTAL] The path to the 'real' host root filesystem.
      --skip-headers             If true, avoid header prefixes in the log messages
      --skip-log-headers         If true, avoid headers when opening log files
  -v, --v Level                  number for the log level verbosity

Usageでは kubeadm alpha kubeconfig user --client-name=fooとありますが、Groupを指定したい場合は--orgオプションを使うことでOrganizationsに追加することができます。

例)barbaz Groupに属するfoo Userのkubeconfigの生成

kubeadm alpha kubeconfig user --client-name=foo --org=bar --rog=baz

おわりに

マネージドサービスを利用する場合、この辺りの処理はclient-go credentials pluginで各種IAMサービスと連携してやってくれてるのでありがたいですね。

Authenticating | Kubernetes

オンプレで組もうとするとこの辺りも作りこみが必要なので、今回調べたX.509 Client Certificateな仕組みであったりStatic Tokenな仕組みであったりの作りこみは必要そうです。