zaki work log

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

OpenShift

「OpenShift.Run Winter 2020 #11」でLT登壇した振り返り

「OpenShift.Run Winter 2020 #11」で「OpenShiftの認証を既存の認証基盤でおこなう」という内容で今年4回目の登壇(LT枠)しました。 openshift.connpass.com 発表資料 内容 久しぶりのLT登壇 発表に入らなかったこと カットしたところ スライドにはあるけど…

個人環境で無料で利用できるOpenShift 4.x環境4選

クラウドリソースの使用料やサブスクリプションの費用無しに利用することができるOpenShiftを4つ紹介します。 他にもあるかもしれませんが、私が個人環境で触ったことがあるのがこの4つという話です。 用途に応じてお試ししてみてね。 (独断と偏見で難易度(…

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

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

[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…

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

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

[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 任意…

oc runでPod単体デプロイするとoc adm drainで退避できないので注意 (作業ログ)

oc run --restart=NeverでPod単体で動作させると、oc adm drainでノードをサービスアウトさせようとしても、Podが退避されないのでその様子の実行ログ。 この記事の補足的な内容。 zaki-hmkc.hatenablog.com 環境 [zaki@okd4-manager ~]$ oc version Client …

[oc / kubectl] runでデプロイできるpodとその親リソースについて (廃止予定オプション--generatorの動作)

oc runを使ったPodのデプロイについて。 OpenShift v4では、oc runを使ってDeploymentConfigやDeploymentを作成するとDEPRECATEDの警告が表示さるようになった。(正確にはv4.1は触ったことないからわからない) k8sバージョン1.18で無くなる模様。 github.com…

[oc / kubectl] コマンドや引数の補完設定 【completion】

bashを使っているのであれば $ source <(oc completion bash) とか $ source <(kubectl completion bash) で。 OCP v3でmasterノードでばかり作業してると、たまにCRCとかクラスタ外部サーバで作業すると、「あれ?」となってしまうので備忘録。 なお、実行…

[OpenShift]指定nodeでデプロイされているpod一覧を表示する

すぐoc get pod --all-namespaces -o wide | grep ${node-name}やっちゃうんだけど、、、 v3だと便利コマンドありました。 ※ 以下、小ネタです。(こんなコマンドもあるんだなー程度で見てください。たぶんストレートにgrepした方が早いです笑) OCV v3 OCP v4…

[OpenShift] sccのrunAsUserを使って特定のUIDを指定してpodを実行

root(UID:0)を含む、任意のUIDでpod(の中で動作するプロセス)を動かすには。 基本的にid:nekopさんの記事の通りです。 nekop.hatenablog.com 環境 前置き nonrootを使って指定のUID(非0)で動作させる 作業用プロジェクト作成 ServiceAccount/defaultにnonroo…

[kubectl / oc] custom-columnsを指定して欲しい情報だけリストアップする

custom-columnsの簡単な使い方について。 お題 OCP v4の場合 OCP v3の場合 jsonpath(参考) custom-columns 凡例 お題 例えばcluster-admin権限でログインしてる状態でoc get sccすると、、、 OCP v4の場合 $ oc get scc NAME AGE anyuid 54d hostaccess 54d …

[OpenShift] Webhookを使ってGitLab CEへpushされたら自動でS2Iビルド&デプロイする

自前のS2Iスクリプトを使ったイメージビルドをプライベートネットワーク上のGitLab CEのリポジトリ上のソースコードからビルド&デプロイする手順と、更にそれをWebhookを使ってpushをトリガーに自動でビルド&デプロイする設定について。 扱っているソース…

[OpenShift]自作のS2Iスクリプトを使ってローカルにあるPerlスクリプトをS2Iビルドしてデプロイする

単体で動作するPerlスクリプトをS2I使ってビルド&デプロイする。 環境はCodeReady Containers (OpenShift v4.3)ですが、OKD 3.11でも同じ。 [zaki@codeready s2isample]$ crc version crc version: 1.4.0+d5bb3a3 OpenShift version: 4.2.13 (embedded in b…

OpenShiftの認証にGitLab CEを認証プロバイダとして使用する(OCP v3.11編)

OpenShift v3.11の認証(web / oc login)に、GitLab CEを使うための認証プロバイダの設定。 環境は以下の内容で構築したOKD3.11で確認 zaki-hmkc.hatenablog.com v4はこちら zaki-hmkc.hatenablog.com ドキュメントはこちら 第13章 認証およびユーザーエージ…

OpenShiftの認証にプライベートのGitLab CEをアイデンティティープロバイダとして使用する(OCP v4編)

OpenShift v4の認証(web/oc login)に、GitLab CEの認証情報を使うための設定手順。 前提 決めごと GitLab CEのアプリケーション設定 OpenShiftの設定 secret作成 認証局のconfigmap作成 カスタムリソースマニフェスト web認証 CLI認証 前提 GitLab CEはhttps…

OKD4.4 on Fedora CoreOS(FCOS)をベアメタルUPIインストールしてOpenShift4マルチノードクラスタを試してみた

エンタープライズ版のライセンスの無い自宅の環境に、Fedora CoreOSでOKD4を入れたときの手順です。 OKDはOpenShiftのアップストリーム版で、安定版と言って良いバージョンがあるのかなんとも微妙で、タイミングやCoreOSとのバージョンの組み合わせに等よっ…

[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 このリポジトリのデータをそっ…

[kubectl / oc] jsonpathフィルター芸

前の記事でjsonpathを使って特定のカラムのみをピックアップする指定について説明したけど、条件を指定するフィルターも使えます。 zaki-hmkc.hatenablog.com kubernetes.io 使用するのは?()という書式。 全体 例1 コンテナ名が"mysql"のpod名を出力 例2 sta…

(k8s / openshift) リソースにlabelを後から設定する

labelは後から付与することもできる。 zaki-hmkc.hatenablog.com podに直接 追加する 更新する 削除する deploymentなど podに直接設定した場合、deleteすると じゃあdeploymentに設定すると Workloads以外のリソース podに直接 基本はこんな感じ [zaki@mini…

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

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

マルチノードOpenShift Origin(OKD) 3.11 with NFSをmetrics/logging込みでCentOS7へインストール

検証用なので軽めの構成になってます。 本当はRed Hat Forum Tokyo 2019終わってすぐ、遅くとも12月中旬にはまとめたかったけどずいぶん遅くなってしまった。。 バージョン3.11なので旬は過ぎてますが、仕事(Enterprise版だけど)で3.11お守してるのと、tech …

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

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

k8sやOpenShiftのマニフェストをJSONで書く

qiita.com (ちょっと間が空きましたが)Kubernetes3 Advent Calendar 2019の13日目の記事を(ちょうど13日の金曜日だったので)Qiitaにアップしてました。 元ネタは id:akira6592 さんのAnsibleのPlaybookはJSONで書ける、という記事から。 tekunabe.hatenablog…

tcpSocketを使ったヘルスチェックとpodのビルド&デプロイについて

という内容でKubernetes2 Advent Calendar 2019の11日目の記事としてアップしました。 qiita.com ヘルスチェックと使ったスクリプトについてさらっと書く予定だったのですが、podのビルドとデプロイそういえばあまり慣れてなかったので、おまけコンテンツの…

CodeReady Containers(1.2.0)のWindows(Hyper-V / VirtualBox)へのデプロイまとめ

OpenShift Advent Calendar 2019の4日目の記事として、Qiitaにまとめました。 VirtualBoxへは(昨日の記事で課題にしてた手順で大丈夫でしたが)相当めんどいです… qiita.com

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のコンテナレジストリのpv(NFS)を有効にしたデプロイ

OpenShiftのデプロイに必要なAnsible関連のファイルの取得方法と、コンテナレジストリをNFSのpvで利用する設定とデプロイについて。 ここではHawkularはまだ入れてないです。 deploy_clusterで初期デプロイ時にpvを有効にすると、ちょっとしたハマりポイント…

pv(NFS)を有効にしてHawkular Metricsを再デプロイ

今朝NFSが使えなかった件、なんかyum updateしたら動くようになってた。 なのでNFSサーバの設定を有効にして、再度NFS PVを有効にしてインストール zaki-hmkc.hatenablog.com qiita.com