DevOps
はじめに Openshiftではoc get userでユーザリソースが確認でき、事前に設定したパスワードを用いてoc loginすることが可能です。本記事ではadmin権限を持つユーザを新規作成する手順について記載しました。 環境情報 OpenShift Container Platform 4 方針 …
はじめに Openshiftではoc debug nodeを利用すること任意のノードでシェルプロンプトを開くことができます。 本記事は同コマンドの解説と実際にkubeletのステータスを確認する手順について記載しました。 環境情報 OpenShift Container Platform 4 oc debug …
事象 Ingressを作成するもIngressコントローラーにて以下のログが出力され ignoring add for ingress test-ingress based on annotation kubernetes.io/ingress.class with valueIngressにIPが割り振られない。 status: loadBalancer: {} 環境情報 nginx-ing…
はじめに Kubernetesには無いリソースに「route」があり、routeとserviceを紐付けることでクラスター外から同サービスにFQDNでアクセスできるようなります。本記事ではサービスをrouteにして外部公開する流れについて解説します。 環境情報 OpenShift Contai…
事象 Openshiftにてstatusを見ようとするも以下コマンドでエラーとなる。 $ oc status error: you do not have rights to view project "default" specified in your config or the project doesn't exist 環境情報 OpenShift Container Platform 4 可能性の…
はじめに Podmanではpodman generate systemdでsystemdユニットファイルを生成ができますが、同じようにdockerでも手動でファイルを作成すればsystemctlでコンテナを操作できます。本記事ではRHELにて特定コンテナを自動起動するための手順をメモしました。…
はじめに PublicなGithubからCloneする際はhttpsを利用しますが、PrivateなGithubからCloneする際はSSHによる鍵認証かHttpsによるユーザ認証にて権限があることを示す必要があります。本記事ではそれぞれのやり方について簡単に説明します。 環境情報 $ git …
はじめに Podにログインしてdfコマンドを打つと以下のようなファイルシステムが確認できますが / # df Filesystem 1K-blocks Used Available Use% Mounted on overlay 101330012 53038048 48275580 52% / tmpfs 65536 0 65536 0% /dev tmpfs 2022504 0 20225…
事象 kubectlコマンドでPodを展開しようとするも下記エラーでエラーとなる。 E0111 21:53:18.429065 5884 request.go:1001] Unexpected error when reading response body: net/http: request canceled (Client.Timeout or context cancellation while readi…
はじめに Tektonを利用したCI/CDの中でPipelineが失敗した際に詳細メッセージを確認する流れを記載しました。 $ kubectl get pipelineruns NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME test-pipeline-run False Failed 100s 92s 環境情報 Windows 10 Cy…
はじめに PodのspecにvolumeClaimTemplatesとしてPersistentVolumeClaimを要求してデータを固定化する際、1回目と2回目でイベントに違いががあります。本記事はレプリカ数1のmongoイメージを例にステートフルセットの落とし上げをしました。 それによって、…
はじめに istioctlコマンドが通るようになった環境にて istioctl kube-injectを通すと、各Podに自動的にサイドカーが付与される様子を実機で確認しました。 環境情報 IKS v1.18.13 Debian GNU/Linux 9 istio-1.8.1 サンプルファイル istioをインストール時の…
はじめに IKSに用意したWorkerNodeにLinux環境から操作をしてIstioのセットアップを実施しました。 以下の冒頭部分となります。 環境情報 IKS v1.18.13 Debian GNU/Linux 9 istio-1.8.1 istioctlのインストール 下記にてインストールが完了してディレクトリ…
事象 Ingress用に既存のTLS証明書を利用したSecretを作成しようと秘密鍵及びサーバ証明書を与えるも $ kubectl create secret tls tls-secret --cert=test.crt --key=test.key以下のエラーで失敗する。 error: failed to load key pair tls: failed to find …
はじめに オンプレミス環境に構築したKubernetesではServiceにて type: LoadBalancerと記載して起動するも、External-IPの箇所がpendingのままでIPアドレスが割り当てられません。本記事では以下のベアメタルサーバで動作するKubernetesにロードバランサ機能…
はじめに KubernetesではRBAC(Role Based Access Control)という機構で権限を制御しています。本記事では、DockerDesktopでデフォルトで用意されるdocker-desktopの証明書情報を確認することでdocker-desktopユーザがなぜadmin権限を持っているのか?につ…
はじめに Kubernetesではクラスター全体もしくはネームスペースに対して行える操作を管理するためにRBAC(Role Based Access Control)という機構があり、具体的には権限を定義したロールとユーザを紐づけることで権限を制御します。本記事では、自分がどの…
はじめに vSphereへのOpenshiftのデプロイではインストール前提にDNSによる名前解決が要件となっており、サーバや接続先端末にて api.$CLUSTERDOMAIN api-int.$CLUSTERDOMAIN etcd-0.$CLUSTERDOMAIN etcd-1.$CLUSTERDOMAIN etcd-2.$CLUSTERDOMAIN *.apps.$CL…
はじめに Tektonを利用したCI/CDの中でDockerDesktopのKubernetesクラスターにkubectlコマンドを打つTaskを生成しました。 以下記事のkubectlバージョンとなりますが、動くことを優先して権限分離を考慮していないので参考程度に利用ください。 環境情報 Win…
はじめに Tektonを利用したCI/CDの中でコンテナイメージは/kaniko/executorを利用している例が多かったので、自学のためにあえてkanikoを利用せずにdocker buildしてみました。ちなみに、KanikoはDockerコンテナ内でDockerイメージをビルドできるツールなの…
事象 コンテナに以下のようにファイルをマウントしようと起動するも # docker run -it -v test.txt:/tmp/test.txt ubuntu /bin/shコンテナ内ではディレクトリができている。 # ls -l /tmp total 4 drwxr-xr-x 18 root root xx test.txt 環境情報 Docker vers…
事象 オフライン環境で初めてTaskを起動するとPending状態となる。 $ kubectl get taskrun NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME taskrun-hello Unknown Pending 3m46s具体的にはPodの初期化で止まっている。 $ kubectl get pod NAME READY STATU…
事象 DockerDesktopのアップデート時に以下メッセージが出る。 WSL 2 installation is incomplete The WSL 2 Linux kernel is now installed using a separate MSI update package. Please click the link and follow the instructions to install the kerne…
はじめに Nodeのファイルシステムを利用するhostPathについて、指定したマウント先が存在するかしないかでの実機上の動きを確認しました。 環境情報 kubeadm 1.15 pathで指定したディレクトリが存在しない場合 例えばYAMLは以下で containers: volumeMounts:…
はじめに kubeadmでインストールした環境ではkube-proxyはPodとして各ノードに展開され、それはデーモンセットで管理されています。 本記事ではkube-proxyに関する情報を実機で確認しながら再起動する流れを整理しました。 環境情報 kubeadm 1.15 kube-proxy…
事象 Podを起動するもSTATUSがEvictedとなっておりdescribeで詳細を確認すると以下メッセージで起動に失敗している。 Status : Failed Reason : Evicted Message : Pod The node had condition: [DiskPressure].ただし展開しようとしているNodeのディスク領…
はじめに Kubernetesではetcdctlを利用してクラスター情報のバックアップ&リストアが可能ですが、実際に中に格納されているデータの値を表示させることができます。本記事では例として、etcdの中に格納されたnamespaceの情報を確認しました。 環境情報 kube…
やりたいこと 以下のようにシングルプロセスで動いているfluentdプロセスをMulti Process Workersに変更する。 # ps aux td-agent ... /opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon …
事象 PVを落とし上げしているにもかかわらず $ kubectl delete apply -f pv.yaml persistentvolume "pv-1" deleted $ kubectl get pv No resources found in default namespace. $ kubectl apply -f pv.yaml persistentvolume/pv-1 created起動直後にPVCが紐…
事象 事前にPVを用意しているにもかかわらず $ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE test-pv 1Gi RWO Retain Available slow XmそのPVに紐づけようとしたPVCがPendingになる。 $ kubectl get pv…