# k8s勉強メモ(用語まとめ) <blockquote class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr">kubectl is the new ssh. Limit access and only use it for deployments when better tooling is not available.</p>— Kelsey Hightower (@kelseyhightower) <a href="https://twitter.com/kelseyhightower/status/1070413458045202433?ref_src=twsrc%5Etfw">2018年12月5日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 💛💛💛 --- ## Cluster / Context * k8sの全体。この大枠で管理される? * Contextは、ローカルから接続するクラスタを管理する仕組み? * `$HOME/.kube/config`や`$KUBECONFIG`にあるymlで管理される ```bash # 確認 $ kubectl config get-contexts # 現在の変更 $ kubectl config use-context <<変更したいContext>> # 削除 $ kubectl config delete-context <<削除したいContext>> ``` ## Node * つまりインスタンス? * master:k8s自体を管理するNode * node:アプリケーションが動くNode → EKSやGKEの場合はmaster nodeはマネージドで提供される。 ```bash # 確認 $ kubectl get nodes $ kubectl describe nodes <<name>> ``` ## NameSpace * 名前空間 * 設定によりNameSpace間のアクセスを許可/拒否できるらしい ```bash # 確認 $ kubectl get namespaces # 今のNameSpace確認 $ kubectl config view | grep namespace # 変更 $ kubectl config set-context <<current-context>> --namespace=<<変更したいNameSpace>> ``` --- ## Pod * コンテナの集まり? * 1つのPodは同じNodeに存在する ```bash # 確認 $ kubectl get po $ kubectl describe po <<name>> ``` ## ReplicaSet * Podを生成・管理する > PodTemplateと呼ばれるPodのテンプレートをもとに、Podを指定された数(レプリカ数)に調整・管理を行う仕組みです。Podがレプリカ数より足りない場合はPodを追加し、多い場合はをPodを削除します。この仕組みによってノードの障害やアプリケーションのクラッシュでPodが足りなくなった際も自動的にPodが追加され、セルフヒーリングが実現されています。 ```bash # 確認 $ kubectl get rs ``` ## Deployment * 新しいバージョンのリリースを管理するための仕組み? * Deployment は ReplicaSet を管理する ```bash # 確認 $ kubectl get deployments # 履歴確認(古 -> 新) $ kubectl rollout history deployments <<name>> ``` --- ## Service * ロードバランサー的なもの? * ReplicaSetに分散してアクセスする ```bash # 確認 $ kubectl get svc ``` ## Ingress いけてるやつ ```bash $ kubectl get ingress ``` ## Backend Config ```bash $ kubectl get backendconfig ``` --- ### 参考 * [良い子のためのKubernetesガイド-Qiita](https://qiita.com/skmt719/items/93077ebb58ea44fbc460) * [Kubernetes の Pod / ReplicaSet / Deployment について、ようやく整理できた](https://blog.a-know.me/entry/2018/08/14/185324) * [kubernetes : kubectlコマンド一覧 - Qiita](https://qiita.com/suzukihi724/items/241f7241d297a2d4a55c)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up