【Kubernetes 完全に理解した】認定Kubernetes管理者(CKA)に合格しました

認定Kubernetes管理者 (CKA) に ほとんど満点 で合格しました。 スコアは 98% でした。これはつまり、 Kubernetes 完全に理解した(入門した) という事ですね? この記事は 認定Kubernetes管理者(CKA) の概要と勉強方法を共有します。 認定Kubernetes管理者(C…

PostgreSQL Isolation について

DB

トランザクションのACID特性のうち、Isolation(隔離性)について整理する。 検証には、PostgreSQL 10.5を独自ビルドしたものを利用する。 (gdbでデバッグできるように最適化オプションを無効にした) 参考 PostgreSQL 9.4.4をソースコードからインストールする…

iptables で [unsupported revision] が出る

問題 kube-proxy が設定したルールを iptables コマンドで表示すると、[unsupported revision] になる。 ]# iptables -nL -t nat Chain KUBE-SEP-AAJZQ5YHVGUCPI77 (1 references) target prot opt source destination KUBE-MARK-MASQ all -- 10.200.192.87 …

Kubernetes ログを読んで理解する kube-proxy の仕組み

kube-proxy は各ノードで動作するネットワークプロキシ。Service の仕組みの一部(ClusterIP や NodePort など)を実現し、クラスタ内部または外部から Pod にアクセスできるように制御する。 参考 Kubernetes Components 参考 Kubernetes Service Service は …

Kubernetes コンテナ名を y にすると実行できなくて困った(YAML の Boolean の話)

k8s

環境 Kubernetes 1.15 ]# kubectl version Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.…

linux /proc/kallsyms をコードから理解する

検証環境 CentOS 8.1 を利用する。 ]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-147.3.1.el8_1.x86_64 #1 SMP Fri Jan 3 23:55:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux /proc/ka…

k8s Persistent Volumes の ReadWriteOnce は単一 Pod からのアクセスに絞るための設定じゃない

k8s

kubernates 1.17。 $ kubectl version Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:"2020-01-18T23:30:10Z", GoVersion:"go1.13.5…

k8s ConfigMap で設定を Pod から分離できる( nginx の設定を ConfigMap で管理する)

k8s

ConfigMap は Pod の外から設定データ(環境変数やファイル)を注入するための仕組み。設定を Pod と分離して管理できることに価値がある。 ConfigMap はキーとバリューで構成されていて、複数の方法で作成できる。また、複数の方法で Pod に設定データを注入…

kubernetes kubectl で Pod 内の指定したコンテナにアクセスする方法

k8s

Pod は k8s のデプロイ可能な最小単位。複数のコンテナから成り立つ。kubectl exec -it [pod名] [command]だと、デフォルトのコンテナに接続されてしまう。 $ kubectl exec -it samplepod /bin/sh Defaulting container name to busybox1. Use 'kubectl desc…

Linux メモリ管理 徹底入門(カーネル編)

メモリ管理は、Linux カーネルのコアな機能です。この機能を理解することで、サーバの統計情報の意味がわかるようになったり、トラブル解析ができるようになります。 この記事では、Linux カーネルのメモリ管理について勉強したことを基礎からまとめます。 …