zaki work log

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

2020-01-01から1年間の記事一覧

[Ansible] Connectionプラグインを使ってDockerコンテナを対象に接続・処理する

2021.05.23、docker_container_execモジュールについて追記 Ansibleの処理対象としてDockerコンテナを指定する。 sshを使用しないので、接続先(=コンテナ内)でsshサーバーは不要だけど、コンテナ内にPythonは必要。 お試しということで、Python:3イメージを…

Arista EOSの検証用コンテナcEOS-labで"Cli"コマンドを叩けるか試した

cEOS-labコンテナを動かしてその先でいろいろ動かしてみるはずが、動かすかどうかでつまづいてしまったのでその作業ログを。 ※ Cliコマンドとか分かってないので、動かし方を分かってない。 ※ コンテナ自体は動いているので、Cli以外の方法で触るものだろう…

[kubectl] kubectxとfzfでコンテキスト切り替えをインタラクティブに行う

コンテキストなどの切り替えが楽になるやつ。 職場の環境は切り替えが大量に発生するので使ってるけど、個人環境では使ってなかったので入れておいた。 kubectxとfzfで何も困ってないマン— inductor (@_inductor_) 2020年6月11日 kubectx, kubens インストー…

[ESXi / CentOS 7] ディスクを"追加"してパーティションサイズを拡張

実はスナップショットがあると既存ディスクのサイズ拡張ができなかったので、新しくディスクを作成してパーティションサイズを拡張した。 zaki-hmkc.hatenablog.com 内容は、上記の「サイズ拡張した領域にパーティション作成して拡張」が「新しく追加したデ…

[Kubernetes / Helm] Helm Chart作成おためし (Getting StartedとNginx Pod作成)

helm.sh Getting Startedに沿ってやってみる。 ローカル上にあるChartファイルをパス指定してデプロイするまで。 Helm自体のGetting Startedやってから3か月も経っている件… 流れ ConfigMapのChart作成 テンプレート作成 テンプレート削除 ConfigMapのテンプ…

IUSリポジトリのパッケージでCentOS 7にGit version 2をインストールした

VS CodeのGitHistoryやGitLens拡張がいつの間にか動かなくなってた。 エラーの通りGit Versionが1系なのが原因なのでアップデートしてみる。 こんなエラー git shortlog -e -s -n HEAD (completed in 0.008s) git log --full-history --pretty=oneline --dat…

[コードメモ] Paramikoを使ってPythonでsshする (公開鍵認証)

いきなりサンプルコード。 import paramiko # 接続 client = paramiko.SSHClient() client.load_system_host_keys() client.connect("192.168.0.20", username='zaki', key_filename="/home/zaki/.ssh/id_rsa_nopass") stdin, stdout, stderr = client.exec_…

[ESXi / Ansible] ssh接続してvmi-cmdを使ったVM操作が可能かお試し

ESXiのsshを有効にすると、ssh接続できる。 ssh接続してlsする inventory playbook 実行結果 VM一覧を取得してファイルに出力 j2テンプレート playbook 実行結果 write系処理 エラーと対処 ESXiシェルのログ 参考情報 Copyright (C) Microsoft Corporation. …

[Docker]コンテナ実行時にlog-optsでログサイズ上限とローテート数を設定してホストのストレージが溢れないようにする

コンテナのお作法として、アプリのログはstdoutへ出力することで、Dockerのロギング機能に任せることができる。 ただし、Dockerのデフォルトだとサイズ制限は無いので、上限設定を行っていないとホストのストレージを使い切ってしまうので注意。 逆に言うと…

[Docker] コンテナで動かすプロセスのCPU使用率を--cpusで、メモリ使用量を--memoryで制限する

あくまで一例です。 開発環境とかで一時的に使うのでなく、サービスとして永続的に使う場合は、ホストのリソースを食い尽くさないように制限をかけると良い。 CPU 制限無し 制限あり メモリ 制限無し 追記: 2GB仕様について 制限あり その他のオプション 参…

[Ansible] creates/removesを指定してcommand使用時のファイルの有無事前チェックを行う

commandやshellモジュール使用時の冪等性の処理に「事前チェックtaskを実行、結果をregisterで保持、その内容を使ってwhenでガード」ってよくするけど、ファイルの有無程度であれば標準機能でカバーできる。 (commandの結果ファイルを生成するような処理の場…

制限ネットワーク環境のRHEL7でproxy経由でサブスクリプション登録とDockerインストール

実は自宅環境でRHEL入れるの初めてなんですよ…。 記事内のproxyは172.29.0.11:8080 zaki-hmkc.hatenablog.com RHEL7の取得とインストール後のサブスクリプション登録 イメージの取得 OSインストール サブスクリプションの登録 proxy設定 システムの登録 利用…

[Docker] コンテナでSquidを動かしてproxyサーバーを構築

2年近くproxyすらないネットに繋がらない環境にいて、少し前にようやくパブリッククラウドの自由ないんたーねっとを手に入れたぜうっひょーと思ったら、今度はついにproxy環境での検証をすることになったので、自宅ラボにも似たような構成作れないか、Squid…

[ESXi] CentOS 7のストレージ(XFS)を拡張する

CentOS 7 (on ESXi 6.5)のストレージを増やしたい。 LVMわかってないので、参考記事ベースに作業してみたらうまく行ったという内容。 ディスクサイズの増加 パーティション作成 fdisk起動 現パーティション 空きストレージにパーティション作成 システムタイ…

Windows Terminalの新規ターミナルに項目追加して1操作で指定サーバーにssh接続できるようにする

Windows Terminalの「新しいタブ(ターミナル)を開く」に、いつもsshで接続して作業するメインのホストにシェルを起動する。 設定箇所 タブを開く新しい項目を追加する 追加項目のコマンドにsshを指定する 公開鍵認証設定してパスワードを聞かれないようにす…

[Kubernetes / Istio] Sock Shopの現k8sバージョン対応とIstio対応デプロイお試し

microservices-demo.github.io 環境 quickstart webアクセス Istio対応 サイドカーインジェクション用namespace Gateway/VirtualService Gateway VirtualService デプロイして実行 Kialiでトラフィックを確認 環境 [zaki@cloud-dev ~]$ kc version --short C…

[VMware / Ansible] 評価版ライセンスのESXiにvmware_guestモジュールを使ってVMを作成する

無償版ライセンスのESXiだとread系APIしか使用できないので無理だけど、60日間の評価版ライセンスだとwrite系APIもフルに使えるので、Ansibleのvmware_guestモジュールでVMを作成してみる。 docs.ansible.com playbook PyVmomi 環境 関連 playbook だいたい …

[Ansible] Python3 on CentOS7のローカル実行でパッケージ操作する際のエラーと回避策

結論から言うと「inventoryでconnection=local指定してローカル接続してinterpreter_python指定でPython2で動かす」しかないかもしれない。 環境 Pythonバージョンとyum/dnf AnsibleのPythonバージョンとパッケージマネージャ Python2を使用する設定 interpr…

Windows Terminalで背景透過

設定メニューかCtrl-,で、settings.jsonがエディタで起動されるので以下のように編集する。 ポイントはuseAcrylicとacrylicOpacity。 "profiles": { "defaults": { // Put settings here that you want to apply to all profiles. "cursorShape": "filledBox…

[Kubernetes / Istio] Kialiでサービスメッシュのトラフィックを俯瞰する

Kialiを使ってサービスメッシュのトラフィックをチェックする。 [zaki@cloud-dev ~]$ kc get pod,deploy,svc -n istio-system -l app=kiali NAME READY STATUS RESTARTS AGE pod/kiali-d45468dc4-jlshb 1/1 Running 5 23d NAME READY UP-TO-DATE AVAILABLE A…

[Azure / AKS] ノードのスケーリング

B2sの2ノード構成のクラスタのノードを増やしたり、B2msインスタンスタイプのノードを追加したり。 ノードのスケールアウト ノードプール名を取得 スケーリング ノードのスケールアップ ノードプールの追加 (参考)VMのインスタンスタイプ ノードプールの削除…

[Ansible / Docker] Dockerコンテナ版Ansible(2.8.13)を作ってみる (練習)

CI/CDや、Ansibleのインストールが難しいオフライン環境とかで使えるかな、と思って、試しに作ってみた。 Ansibleバージョン ベースイメージ 失敗作 Dockerfile build push Docker Hub イメージのpush お試し実行 ansible pingモジュール実行 修正版 Dockerf…

[コマンドメモ] 引数を1個しか取れないコマンド実行にxargsで複数のパラメタを渡したいときは-n1を使う

以前bashのループで回避したけど、そもそもxargsで1個ずつ引数渡せないの?と調べたら-nオプションがあったのでメモ。 $ kubectl config get-contexts -o name | grep ... | xargs kubectl config delete-context Delete the specified context from the kub…

[Kubernetes / kubeadm]クラスタ名を指定してK8sデプロイ(kubeadm config YAML)

kubeadmを使ったクラスタ作成時にクラスタ名を設定する。 何がしたいの? 設定方法 既存のオプションもkubeadm config YAMLに設定 標準の設定YAMLの取得 (参考)構築後のコンテキスト名のリネーム 環境 Ansible自動化の実装例 何がしたいの? kubectl config …

[Kubernetes / kind] kindを使ってDocker上にクラスタを高速作成し、MetalLBも併用してクラスタ横断した通信お試し

DockerでKubernetesを動かす。 何をいってるかわからないかもしれないけど、コンテナをK8sノードとして動かすものです。 下の図のような感じで、Kubernetesノードとして動作するコンテナがDockerで動く、というものです。 (なので、podがこのコンテナの中で…

[Azure/AKS] CLI(azコマンド)でマネージドK8sクラスタを作成

AzureのAKSクラスタをCLIで作成する。(それだけ) 作業時のログなので、実際の作業は公式ドキュメントを確認すること。 docs.microsoft.com azコマンド リソースグループを作成 クラスタの作成 (補足)使用可能バージョン 認証情報設定 クラスタの状態 クラス…

[AWS/EKS] eksctlでバージョン指定してクラスタ作成

検証なんかでeksctlでバージョン指定してKubernetesクラスタを作成したいときは、--versionを使用する。 $ time eksctl create cluster \ --name eks-1-15 \ --region ap-northeast-1 \ --nodegroup-name eks-ng-1-15 \ --node-type t3.micro \ --nodes 1 \ …

[Azure] CLIツールをインストール(CentOS)して、VM作るまでお試し実行

AzureのCLIコマンドをローカルのCentOS7へインストールする。(ただそれだけ) yumを使ってインストールするので簡単。 docs.microsoft.com 2020.07.28時点でver 2.9.1をインストールした時の作業ログです。 インストールする際は、最新の情報を確認して作業し…

[Kubernetes] Istio (v1.6.5) Getting Started (オンプレK8sでBookInfoを動かしてwebアクセス)

Istioを入れてサービスメッシュなサンプルアプリ(BookInfo)を動かすところまで。 環境 Istio インストール download istioctl install Istio サンプルアプリケーションのデプロイ namespace作成 デプロイ podへの外部からのアクセス設定 外部からのアクセス …

Kubernetes日本語ドキュメント(kubeadm部分)で初めてのOSSコントリビュートした話

Kubernetes日本語化プロジェクトの翻訳お手伝いで、初めてOSSへのコントリビュートをしてみたのでその時の話について。 きっかけ 担当のアサイン 作業の流れ CLAの署名 初めてのfork コミットメッセージ 翻訳で困ったとき ローカルでの動作確認 本家側の変更…