ingress xxxx
spec:
ingressClassName: nginx
rules:
- host: xxxxxx
http:
paths:
- backend:
service:
name: xxxx
port:
number: 80
path: /
pathType: ImplementationSpecific
status:
loadBalancer:
ingress:
- ip: 192.156.67.163
- ip: 192.156.67.166
daemonset ingress-nginx-controller
spec:
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
spec:
containers:
- args:
- /nginx-ingress-controller
- --report-node-internal-ip-address=true
- --election-id=ingress-controller-leader
- --ingress-class=nginx
- --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
- --validating-webhook=:8443
- --validating-webhook-certificate=/usr/local/certificates/cert
- --validating-webhook-key=/usr/local/certificates/key
核心概念:
面向对象:一切皆对象
Linux:一切皆文件
K8S:一切皆资源:元数据型,集群级,命名空间级
集群架构及组件
控制面板组件:Master
ApiServer:
接口服务,基于REST风格开放k8s接口的服务
ControllerManager:
控制器管理器,管理各个类型的控制器,针对k8s中的各个资源进行管理
- 节点控制器
- 任务控制器
- todo
CloudControllerManager:
云控制器管理器,第三方云平台提供的控制器api对接管理功能
KubeScheduler:
调度器,负责将pod基于一定算法,将其调用到更合适的节点上
Etcd:
理解为k8s的数据库,键值型存储的分布式数据库,提供了基于Raft算法实现的自主的集群高可用,老版本基于内存,新版本持久化存储
工作节点组件:Node
Kubelet:
负责pod的生命周期、存储、网络
KubeProxy:
网络代理,负责service的服务发现、负载均衡(4层负载)
Pod:
容器1&容器2&容器N
ContainerRuntime:
容器运行时环境:docker、containerd、CRI-O
附加组件:
KubeDNS:
负责为整个集群提供网络服务
Ingress:
外部访问入口
Prometheus:
资源监控
Dashboard:
GUI界面
Federation:
提供跨可用区的集群
FluentdES:
日志
核心概念:
资源清单
这种