1、spec 定义资源的状态,对于Pod来说,最重要属性就是containers
spec:
containers:
-name:web
image:
ports
- containerPort:80 #定义容器监听的端口(与Dockerfile中的Expose类似,只是为了提供文档信息)??
2、
ports:
-protocol:TCP
port:80 #指定Service访问的端口
targetPort:80 #指定Service转发请求的端口??
nodePort:30000
3、
Kubernetes中的Service资源可以作为一组提供相同服务的Pod的入口,
Service肩负着发现服务和平衡Pod之间负荷的重任。
Servie的type取值有4种:
ClusterIP:默认值,通过集群的内部IP暴露服务,该模式下,服务只能够在集群内部可以访问
NodePort:通过每个Node上的IP和静态端口(NodePort)暴露服务,NodePort服务会路由到ClusterIP服务,这个ClusterIP服务会自动创建。
LoadBalancer:分配一个内部集群IP地址,并在每个节点上启用一个端口来暴露服务。
除此之外,Kubernetes会请求底层云平台上的负载均衡器,将每个Node([NodeIP]:[NodePort])作为后端添加进去。LoadBalancer只适用于云平台,AWS默认就支持。
ExternalName:
4、
Deployment表示用户对Kubernetes集群的一次更新操作。
Deployment可以帮助每一个应用程序的生命都保持相同的一点:那就是变化。
Deployment可以自动化应用程序从一版本升迁到另一版本的过程,并保证服务不间断。
遗留问题
1、网络层知识还不是很清晰
2、.net core项目,使用configMap,对于appsettings.json ok
那如果配置文件,是log4net?
或者只是某个路径,怎么使用?
3、helm的使用
https://www.jianshu.com/p/e53cd278fd4e
4、ingress的使用