k3s学习笔记(二)
在前一篇文章中,把::k3s::的server安装并运行起来以后,并且有了一个::node::以后,我们可以看一下这个node里面默认的组件。首先来看一下k8s里面的一些概念的::架构关系:::
可以看到k8s里面::最基础的单元是pod::,pod里面其实还包含::多个containers(容器)::,但是k8s把容器的概念抽象封装了。
然后一个或多个pods::组成了deployment::,一个deployment的概念就是一个完整的功能单元,它里面包含的不同功能的pods会组成一个完成的功能体系。
然后deployment还同时::负责创建replicaset::,就是一个高可用的群集,这个replicaset里面会负责去创建和复制一个或多个相同的pods,并且当replicaset内正在运行的某一个pod当机或者被销毁的时候,replicaset回去自动创建一个新的pod补足预先设定的副本数量。
最后就是service,service会去使用deployment,::向外提供实际的服务::,所以service这层更多的会去关注网络层面的事情,比如负载平衡,端口映射,url转发,等等。
上面这些概念在接下来的文章里会详细展开去讲。下面先看看k3s server里面默认启动好的pods,deployments,replicasets,还有service。
讲完了抽象的概念,看看k3s
默认启动的组件。首先是pods:
$ sudo kubectl get pods -n kube-system
下面是得到的查询结果:
注意上面的命令里,我们查询的是kube-system
这个namespace,这个namespace里面的组件都是kubernetes群集的系统组件。可以看到它这个里面包含了几样东西:
这些组件在后面的文章里会详细介绍,这篇文章里先简单给出这些组件的出处:
- metrics-server / GitHub - kubernetes-sigs/metrics-server: Cluster-wide aggregator of resource usage data. / Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
- svclb-traefik (这个其实对应::klipper-lb::项目,后续会具体介绍)/ GitHub - rancher/klipper-lb: Embedded service load balancer in Klipper / Klipper Service Load Balancer
- coredns / GitHub - coredns/coredns: CoreDNS is a DNS server that chains plugins / CoreDNS is a DNS server/forwarder, written in Go.
- traefik / GitHub - containous/traefik: The Cloud Native Edge Router / Traefik (pronounced /traffic/) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
- local-path-provisioner / GitHub - rancher/local-path-provisioner: Use HostPath for persistent local storage with Kubernetes / Local Path Provisioner provides a way for the Kubernetes users to utilize the local storage in each node.
以上先列出这些组件的出处和简单说明,后续的文章里会系统讲解。