2020-12-01から1ヶ月間の記事一覧

defaultAllowPrivilegeEscalationの挙動

PodSecuriyPolicyのdefaultAllowPrivilegeEscalationの意味がよくわからなかったので、確認したメモ。 まず、KubernetesのデフォルトでPSPを有効にしていない状態では、権限昇格は許可されている。 root@cks-master:~# k run pod1 --image=nginx pod/pod1 cr…

プロセスの権限の確認

プロセスに与えられているケーパビリティーや、権限昇格を許されているかなどを確認するには以下を見ればよい。 cat /proc/<PID>/status / # cat /proc/1/status Name: sleep Umask: 0022 State: S (sleeping) Tgid: 1 Ngid: 0 Pid: 1 PPid: 0 TracerPid: 0 Uid: </pid>…

kubeadmクラスターでcontainerd/runscを使う

kubeadmで作成したクラスターでランタイムをDocker/conainerd/runcからcontainerd/runsc(gvisor)に変えてみたメモ。 参考リンク https://gvisor.dev/docs/user_guide/install/ https://github.com/killer-sh/cks-course-environment/tree/master/course-cont…

kubeadmクラスターでetcdでのSecretの暗号化を有効にする

kubeadmで作成したクラスターでetcdでのSecretの暗号化を有効にする方法のメモ。 デフォルト状態 デフォルト状態ではSecretは暗号化されていないので、etcdctlを使ってetcdに直接アクセスすれば見ることができる。 Secretを作成する。 root@cks-master:~# k …

EKSのkube-apiserverの設定の確認

CKSの勉強をしていて、kube-apiserverの特にセキュリティまわりの設定ポイントを学んだので、EKSの場合はどうなのかを確認したメモ。 フラグの確認方法 kuber-apiserverの起動フラグを確認するには、コントロールプレーンのロギングを有効化して、ログを見れ…

ユーザーの証明書でEKSにアクセスできるのか

EKSクラスターへのアクセスは普通はIAMで行うが、それ以外のやり方で行うとしたら以下がありそう。 ユーザーの証明書を発行する ServiceAccountを作ってそのトークンをダウンロードして使う できるのかを確認しようとしたメモ。 コンポーネント バージョン …

スペースを改行に置換

プロセスの引数が長いとき、スペースを改行に置換してあげると多少見やすい。 ps -ef | grep kubelet | tr ' ' '\n' root@cks-master:~# ps -ef | grep kubelet root 1178 1 3 17:46 ? 00:01:00 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bo…

Kubernetes The Hard Way関連リンク

オリジナル https://github.com/kelseyhightower/kubernetes-the-hard-way 日本語訳・解説 https://github.com/inductor/kubernetes-the-hard-way Kubernetes The Hard Wayする AWS版 https://github.com/prabhatsharma/kubernetes-the-hard-way-aws https:/…

kubectl proxyとkubectl port-forword

ClusterIPで公開されたPodにアクセスするには普通はkubectl port-forwardを使う。 k port-forward grafana-5fc4f5779d-wbmsd 3000:3000 # あるいは k port-forward deploy/grafana 3000:3000 # あるいは k port-forward svc/grafana 3000:80 これでhttp://lo…

curlで名前解決

curlで名前解決のメモ。 Nginx Ingress Controllerを使って以下のようなIngressリソースを作成したとする。 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: secure-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / s…

kubeadmでEKS Distroをデプロイする

kubeadmでEKS Distroをデプロイしてみたメモ。 kubeadmを使用したシングルコントロールプレーンクラスターの作成 AWSでCentOS 7にKubernetes 1.11をkubeadmでインストール Running Kubernetes cluster with Amazon EKS Distro across AWS Snowball Edge シン…

CloudShellをいい感じにセットアップする

CloudShellをいい感じにセットアップするメモ。随時更新予定。 ツールの導入。 sudo yum -y install bash-completion mkdir -p $HOME/bin curl -L "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar …

aws-auth ConfigMapの書き方

いつもわからなくなるのでメモ。 apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::XXXXXXXXXX:role/eksctl-ekshandson-nodegro…

EKS Distroをkopsで試す

EKS Distroをkopsで動かしてみたメモ。 参考リンク EKS Distro Amazon EKS Distro: Amazon EKS で使用される Kubernetes ディストリビューション 手順 https://distro.eks.amazonaws.com/users/index.html まずリポジトリをクローンする。 git clone git@git…

ALBの後ろにLambdaを置いてみる

ALBの後ろにLambdaを置いてみたメモ。 アプリケーションロードバランサー(ALB)のターゲットにAWS Lambdaが選択可能になりました 手順 マネコンでLambda関数を作成する。以下を設定しその他はデフォルトを選択。 項目 値 備考 作成方法 一から作成 関数名 myH…

KindでEKS Distroを起動する

KindでEKS Distroを起動してみたメモ。 Unboxing EKS Distro! #ContainersFromTheCouch EKS Distro Amazon EKS Distro: Amazon EKS で使用される Kubernetes ディストリビューション 手順 Kindのクラスター定義ファイルを作成する。これはKubestackが提供し…

kops を試す

kopsを試してみたメモ。 コンポーネント バージョン 備考 kops 1.18.2 参考リンク https://github.com/kubernetes/kops https://kops.sigs.k8s.io/ kopsを使ったAWS上でのKubernetesのインストール kopsを使ってKubernetesクラスタをAWS上で構成 手順 準備 G…