Kubernetes (K8S) 学习笔记
Kubernetes 以下简称 k8s,是类似hadoop中yarn的存在,对大规模集群进行创建、删除、升级、扩容的一层组件。
微软Azure官方的教程:链接: https://pan.baidu.com/s/1AM6eq80Y72TuVF1yFXS5CQ 提取码: j363
基本元素:
1. pod包含一个或多个container, 一个完整的app可以有多个pod
2. deployment包含pod部署的描述,用于pod内容的升级或扩容
3. service将pod映射为对外提供服务的service
4. secret 加密的信息. secret是键值对,值必须是base64编码
5. YAML定义k8s中元素的json格式的文件。
6. node是集群除了master以外的节点,类似hadoop里的slave节点
调度机制 k8s scheduler:
这个组件来决定一个pod会被具体运行在哪台底层的VM上。决定的条件分成硬性条件和软性条件。优先满足硬性条件。
网络:
参考:
https://blog.csdn.net/qq_21187515/article/details/101363521
https://blog.csdn.net/qq_21187515/article/details/101363521
https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79988685
clusterIP:service在cluster内部的IP
port:service暴露在clusterIP上的port
targetPort:代码在容器层面监听的port
nodePort:VM层面对外的端口(每个Service都会在Node节点上开通一个端口)
loadbalance模式:标准的对外监听的模式,比较复杂,另起一篇单独讲述。
容器:
k8s的容器中的操作系统一般使用apline linux。容器的image可以发布到docker或者云的容器比如Azure ACR。
常用命令:
kubectl cluster-info
kubectl get nodes
kubectl get pods
kubectl get deployment
kubectl get svc