k8s最小部署单元,是一组容器的集合。
kubectl get pods
最常见的控制器,用于更高级别部署和管理pod
kubectl create deployment web --image=nginx --replicas=2
kubectl get deploy
为一组pod提供负载均衡,对外提供统一访问入口。
kubectl get svc
kubectl get endpoints
标签,附加到某个资源上,用于关联对象、查询和筛选。service通过标签关联到一组pod
Ingress能把Service(Kubernetes的服务)配置成外网能够访问的URL,流量负载均衡,及SSL,并提供域名访问的虚拟主机等,客户通过访问URL进入和请求Service,一个Ingress控制器负责处理所有Ingress的请求流量,它通常是一个负载均衡器。
K8S-INGRESS原理,部署及应用
将资源对象逻辑隔离,从而形成多个虚拟集群,有利于权限控制。
应用场景:根据不同团队划分命名空间,根据项目划分命名空间。
当不指定命名空间的时候,默认是default。
kubectl create namespace sms
kubectl get namespaces
kubectl create deployment web --image=nginx --replicas=2 -n sms
kubectl get pods -n sms
defalut:默认命名空间。
kube-system:k8s系统方面的命名空间。
kube-public:公开的命名空间,谁都可以访问。
kube-node-lease:k8s内部命名空间。
可以通过命令行方式指定,-n参数。也可以通过yaml文件中metadata
节点的namespace指定。
LoadBlancer Service
NodePort Service
Ingress