Kubernetes完全指南
学习 Kubernetes
Kubernetes简介
Kubernetes的总体框架景象。
Kubernetes通过协调多个服务器来提供一个服务。这个集合被称为集群。(这个词在英语中意为“集合、组合”)
在集群的内部,有称为控制平面和节点组件(或工作节点)的组件,为了理解Kubernetes的架构,需要系统地记住这些术语。
Kubernetes部署在本地还是云上?
考虑到设置Kubernetes所需的资源,使用云环境是使用Kubernetes的主要选择。
Kubernetes三大云服务的比较
Kubernetes资源清单。
“Deployment是什么意思?”
Kubernetes创建Deployment对象来监视和管理各个程序。Deployment对象是由以下信息组成的。
-
- コンテナイメージ名
-
- 実行したいレプリカの数
- その他コンテナを実行する際に知っておくべき情報
可以这样说,部署理应以容器为单位。
什么是Pod?
Pod是Kubernetes对象,用于表示一个或多个容器的组合。Pod一词表示鲸鱼小群,而Kubernetes的Pod则表示容器的组合。
Pod和容器的区别
Pod对象表示一个单一的容器或者容器组,并且无论在Kubernetes上执行什么操作,都将使用Pod进行执行。
什么是ReplicaSet?
用户不需要了解ReplicaSet,但需要了解Deployment的行为。
但是,在实际运行和故障排除等方面,了解ReplicaSet的行为可能会有所帮助。
ReplicaSet的工作是管理Pod,并根据Deployment的变更进行调整。Deployment不直接修改Pod是为了支持滚动更新等部署策略(例如,通过对ReplicaSet进行版本控制,可以控制旧的Replica和新的Replica,实现对多个Pod的滚动更新)。
命名空间是什么?
要有效地管理资源的使用情况,可以使用命名空间来按照集群来进行管理。
服务是什么?
Service资源可以被分配一个不变的IP地址或者DNS,并且能够自动将流量路由到相应的Pod。
Service可以被理解为类似于Web代理或负载均衡器的东西,它会将请求发送到后端的Pod组。
持久卷是什么?
每个容器都有自己的文件系统。然而,这些文件系统都是短暂的,一旦重新启动,其中的信息就会丢失。
基于这种性质,容器是无状态的,重新启动后会确保重新初始化。
ところが、より複雑なアプリケーションではストレージを永続化し、ほかのコンテナと共有したい場面が出てきます。
Kubernetesのvolumeオブジェクトはそのどちらのニーズにも対応することが出来ます。
Kubernetes 命令集
kubectl 省略形
kubernetesのコマンドは長くなりがちですが、実は省略形も存在します。
今回はリソースタイプの省略形、自動補完機能、フラグの省略形をお伝えします。
kubectl getオプション一覧
在Kubernetes中,您可以使用“get”命令获取资源信息。
Kubernetes资源清单可以自动生成。
kubectlを使用してYAMLマニュフェストを生成することで、リソースマニュフェストを0から書く心配はなくなります。
コマンドは–dry-runオプションと-o yamlオプションをkubectl createコマンドにつけるだけです。
kubernetesによるログ出力
コンテナの内部で起こるエラーは、通常のLinux,Windowsサーバー内のログを確認する作業比べて, 何が起こっているかを把握することが難しくなります。
Kubernetesでは、kubectlコマンドを使用することで、より効果的な使用方法が見つかるでしょう。
使用kubectl exec命令进入容器。
进入容器内部的kubectl方法。
kubernetesではコンテナの内部に入り、linuxコマンドを打てる環境を用意してくれます。より正確にいうと、コンテナに対してssh接続しているかのようにシェルを起動できるのです。
Kubernetes资源控制。
Kubernetes的CPU资源限制方法
Kubernetesでは必要となるリソースを次の二つの方法を用いて指定します。
-
- リソース要求値(Kubernetesが必要とする最小のリソース)
- リソース制限値(Kubernetesへ許可される最大のリソース)
Kubernetes中的健康检查方法。
Kubernetesではコンテナのスペック管理の一部として、Liveness Probe(ライブネスプローブ)を利用できます。
言い換えればヘルスチェックが利用可能です
判断簇的尺寸
Kubernetes安全性
Pod的安全
容器的安全性意味着需要建立一个即使攻击者能够入侵容器内部也不会造成问题的状态。
程序往往存在漏洞。
如果拥有任意权限的用户(根用户)恶意利用这种情况,最糟糕的情况将导致系统被接管。
此外,也有可能通过利用容器的漏洞夺取主机权限。
このような危険性を軽減するために、コンテナは考えうる最小の権限で実行することが重要です。
请原生中文表述以下内容,只需提供一种选项:
页面链接:https://minegishirei.hatenablog.com/entry/2023/10/11/103809