tjtjtjのメモ

自分のためのメモです

kubernetes 学習 calico simple policy tutorial その3

また続き。ネットワークポリシーはない状態。 access-nginx -> default-deny ポリシーの作成順に関係があるのか。 core@kb1 ~ $ kubectl create -f - <<EOF > kind: NetworkPolicy > apiVersion: networking.k8s.io/v1 > metadata: > name: access-nginx > namespa</eof>…

kubernetes 学習 calico simple policy tutorial その2

前回の続き。ネットワークポリシー default-deny, access-nginx がある状態から。 $ kubectl get networkpolicy --namespace=policy-demo NAME POD-SELECTOR AGE access-nginx run=nginx 9m54s default-deny <none> 15m allow-all してみる 矛盾するネットワークポ</none>…

kubernetes 学習 calico simple policy tutorial

引き続き kubernetes で学習。今回はネットワークポリシー初回 caloco の Simple policy tutorial Configure namespaces ネームスペース作成...の前に確認 $ kubectl get ns NAME STATUS AGE default Active 22h kube-node-lease Active 22h kube-public Act…

nomad チュートリアル webui

https://www.nomadproject.io/intro/getting-started/ui.html 前回の続き。server,client1,client2 を起動し、job:example 実行中。 Opening the Web UI http://localhost:4646 にアクセス。チュートリアルのように表示されている。example が running。 Ins…

nomad チュートリアル Clustering

https://www.nomadproject.io/intro/getting-started/cluster.html Starting the Server サーバー構成ファイルを作成 server.hcl # Increase log verbosity log_level = "DEBUG" # Setup data dir data_dir = "/tmp/server1" # Enable the server server { e…

nomad トライアル jobおさらい

すっかり忘れたのでおさらい。 https://www.nomadproject.io/intro/getting-started/jobs.html エージェント起動と停止 開発モードでエージェント起動 $ sudo nomad agent -dev エージェント起動 ctrl-c エージェント状態確認 $ nomad agent-info クラスタの…

nomad トライアル jobs

https://www.nomadproject.io/intro/getting-started/jobs.html Job と TaskGroup Jobは、Nomadの作業負荷を宣言するユーザーによって提供される仕様です。 仕事は望ましい状態の一形態です。 ユーザーは、ジョブが実行されるべきであることを表現しています…

nomad トライアル running

https://www.nomadproject.io/intro/getting-started/running.html エージェントとは クライアント - Nomadのクライアントは、タスクを実行できるマシンです。 すべてのクライアントがNomadエージェントを実行しています。 エージェントは、サーバーへの登録…

kubernetes 学習 ExternalIP

クラスタ外から指定したNodeIPを通してpodへアクセスできるようにする。 指定したip の node がダウンしている場合は疎通できない。nodeportも同様 kbhello-service-eip.yaml apiVersion: v1 kind: Service metadata: name: kbhello-service-eip spec: selec…

kubernetes 学習 NodePort

前回は、クラスタ内部間の通信を調べた。 クラスタ外部 -> サービス -> pod の経路を調べたい。 確認 kb2 に pod:29pkt, pod:nrj9j。kb3 に pod:n9t8t。 $ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES …

kubernetes 学習 dns

service, pod の名前解決を調べた。 最初に確認 kbhello でHOSTNAMEを表示するようにした。 kbhello-deployment が 3podあり、kb2 kb3 の2node で実行中。 $ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATE…

kubernetes 学習 service/ClusterIP

これまなんとなく雰囲気でサービス・ロードバランサを作っていた。serviceはたぶん pod/deployment の前段にあたる概念だよなーと考えていた。 Serviceとは? K8sのサービスは、論理的なPodのセットとそれと通信するためのポリシーを定義する抽象的なものです…

Quarkus - Creating Your First Application

java コンテナイメージのサイズに悩んでいたところ、こんなニュースがあった。 高速起動にはあまり興味がないが、Quarkus のイメージサイズに興味を覚えた。 Javaフレームワーク「Quarkus」登場。Javaコードからネイティブバイナリを生成し瞬時にJavaアプリ…

kubernetes 学習 logging その1

Logging Architecture を試す。 コンテナ化されたアプリケーションの最も簡単で包括的なロギング方法は、標準出力と標準エラーストリームに書き込むこと クラスタレベルのログ記録では、ログを保存、分析、およびクエリするために別のバックエンドが必要 Kub…

springboot+docker イメージのサイズ縮小

前回の続き。イメージのサイズの縮小を試す。今回は MultiStageBuild の必要性が理解できている。 hirokimatsumoto/alpine-openjdk-11 + alpine:3.8 ここ を参考にした。 イメージサイズ: 78.7MB。これは小さい。 Dockerfile.hiroki FROM hirokimatsumoto/al…

springboot+docker イメージのサイズ縮小に失敗

helloworld するだけのコンテナが 121MB ではデカすぎる。JDK11 なんだからコンテナ向けの小さいイメージにしたい。 今回は上手くいかなかった手順を記録。 失敗1 springboot プロジェクトの jdeps は信用できない。 依存モジュールを調べる java.base, java…

kubernetes 学習 練習プロジェクトのデプロイ

ここに練習helloプロジェクト作ったので、k8s にデプロイしてみる https://github.com/tjtjtj/kbhello プライベートリポジトリ起動 プライベートリポジトリ起動 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES # docker run -d -p 5000…

kubernetes 学習 configmap

configure-pod-configmap やってみたメモ。 最初 configmap がなにもないことを確認 $ kubectl get configmap No resources found. ディレクトリから configmap 作成 mkdir -> game.properties, ui.properties をディレクトリに取得 -> kubectl create confi…

kubernetes 学習 dockerプライベートレジストリを試す

docker プライベートレジストリを準備する レジストリ起動 # docker run -d -p 5000:5000 registry:2 カタログ確認 # curl localhost:5000/v2/_catalog {"repositories":[]} レジストリにログイン # docker login 192.168.0.1:5000 Username: asdf <--- テキ…

kubernetes 学習 secret

シークレットの管理 - 平文 シークレット一覧を確認 $ kubectl get secrets NAME TYPE DATA AGE default-token-klj4b kubernetes.io/service-account-token 3 8d ファイルにシークレットを平文で保存 echo -n "username" > ./username echo -n "this-is-a-pa…

kubernetes 学習 taints tolerations その2

pod でなく deployment で taints/tolerations を試す。 確認 $ kubectl describe node kb1 Taints: node-role.kubernetes.io/master:NoSchedule $ kubectl describe node kb2 Taints: <none> $ kubectl describe node kb3 Taints: <none> テキトーな deployment.yaml ng</none></none>…

kubernetes 学習 taints tolerations

coredns が起動しないのを taints tolerations のせいかと勘違いしちょっといじったが違った。今回はちゃんと taints tolerations 試す。 ありがたい資料 Taints and Tolerations https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ …

kubernetes 学習 クラスタ作り直し

knative 試してたらグッチャグッチャになったので、クラスタを再構築したメモ。 マスターでワーカーノードを削除 $ kubectl get node NAME STATUS ROLES AGE VERSION kb1 Ready master 14d v1.13.2 kb2 Ready <none> 13d v1.13.2 kb3 Ready <none> 13d v1.13.2 $ kubectl</none></none>…

Kubernetes 学習 Performing a Rolling Update を自前クラスタで復習

Performing a Rolling Update https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/ 前回の続きを確認 $ kubectl get nodes NAME STATUS ROLES AGE VERSION kb1 Ready master 10d v1.13.2 kb2 Ready <none> 10d v1.13.2 kb3 Ready <none> 10d v</none></none>…

Kubernetes 学習 Scale Your App を自前クラスタで復習

Scale Your App https://kubernetes.io/docs/tutorials/kubernetes-basics/scale/scale-intro/ チュートリアルの準備 $ kubectl get nodes NAME STATUS ROLES AGE VERSION kb1 Ready master 10d v1.13.2 kb2 Ready <none> 10d v1.13.2 kb3 Ready <none> 10d v1.13.2 $ ku</none></none>…

Kubernetes 学習 Interactive Tutorial

Interactive Tutorial で投入した kubectl コマンドをメモ Scale Your App https://kubernetes.io/docs/tutorials/kubernetes-basics/scale/scale-intro/ $ kubectl get deployments deployments の確認 $ kubectl get pods pods の確認 $ kubectl scale dep…

kubernetes 学習 nginx pod 作成

kb1 nginx pod 作成 $ kubectl get pods No resources found. $ kubectl run nginx --image=nginx:1.15.8 kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or …

minikube いらんかった

長いことwindows+hyprevにminikube入れようと格闘していた。思い出した。やりたいのは minikube のインストールでなく Kubernetes だった。そういえば、前に rancher で環境構築とか、素でk8s 構築とかやってたんだった。そこで勉強したらええやn。 https:/…

さくらのナレッジ minikube

さくらのナレッジをやってみるシリーズ。今回は minikube 簡単にローカルKubernetes環境を構築できるツール「Minikube」 https://knowledge.sakura.ad.jp/15320/ 準備 vurtualbox kubectl https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-…

knative のインストール 失敗

どのクラウドでも使えるサーバレス「GitLab Serverless」をGitLabが発表。KubernetesとKnativeがベース https://www.publickey1.jp/blog/18/gitlab_serverlessgitlabkubernetesknative.htmlKnativeをベースにしたサーバレス環境「Pivotal Function Service」…