k8s core

配置文件
k8s做为一个微服务管理框架,配置文件有点复杂。先梳理一下
个人习惯会
/opt/bin/common/comFile:pod.rc等控制器的文件
/usr/lib/systemd/syste,:k8s的apiservice以及proxy等
/etc/syscpnfig:k8s的变量的配置文件




k8s的核心模块:apiService,controller,scheduler,proxy,kubelet+安全,网络,储存

kubelet:处理master下发的任务,管理pod与容器.
node+pod+health+cAdvisor(资源监控)

apiService:k8s集群中各种资源的crud,监控,数据交互与通信的枢纽
1,apiService运行在master上,进程名为kube-apiservice.
2,一些api:/api/v1/pods./api/vi/services.
apiService的访问模式:
1,curl localhost:8888/api
2,在pod中运行的进程调用
3,各种开源的cli与图形界面

controller manager:负责集群内部node,pod,endpoint,namespace,service,resource等
rc controller:副本的数量预期值,
node controller:通过apiService实时获取node信息,管理,监控集群中node。
resource:容器,pod,namespce三个级别对资源进行控制
namespace:命名空间
service:监听service的变化,根据loadbalancer进行service的update
     以及结合endpoint controller对路由表update。

scheduler:简单来说:
承上:收集controller建立的pod.并且安排到一个合适的node
启下:node上面的kubelet的服务进程的后继工作,pod生命周期的下半生

proxy:service与pod之间的协调



安全:
apiService的认证
apiService的授权
admisssion control
serviceAccount
secret


网络:
Docker的网络:namespce+veth+bridge+iptables+router
ip address:lo,eth0,fannel,dokcer0,自定义bridge.veth*;
iptables-save:nat链,filter链。
ip route:路由
k8s的网络:容器-容器,pod-pod,pod-service,inner-outter+k8s的网络策略
容器-容器:在同一个pod里的容器,可以直接通信。
pod-pod:
             同一个node:都是在dokcer0网桥上面
             不同的node:fannel
pod-service:kube-proxy+负载均衡

开源的网络组件:flannel,open vSwitch,calico




储存:
pv+pvc+storageclass

你可能感兴趣的:(k8s core)