在这里,我们看到Kubernetes信息的精简版。它并不包含所有的内容,但包含了大部分互动的概念。如果你想获得完整的信息,你应该参考Kubernetes文档。
架构
-
**集群。**集群是由节点组成的,用于运行容器化的应用程序。
-
**节点。**节点是运行在Kubernetes集群中的虚拟或物理机器。
-
**Pod:**一个Pod是Kubernetes Cluster中一个进程的单一实例。它包含一个或多个容器,如Docker。
概念
-
Deployments管理他们的ReplicaSets。
-
ReplicaSets管理它们的Pod。
-
Pods管理它们的容器。
-
容器包含你的应用程序。
职责
-
**采集器。**在路由到Kubernetes服务之前,Ingress负责处理HTTPS/HTTP请求。它确保服务不直接暴露在外部。
-
部署。部署负责运行应用程序的一个或多个副本,并自动替换任何失败或变得无响应的实例。部署可以确保应用程序始终可以为请求提供服务。
-
**复制集(ReplicaSet)。**ReplicaSet负责维护在任何特定时间运行的Pod的稳定集合。ReplicaSets确保指定数量的相同的Pod始终处于运行状态。
-
**服务。**一个服务负责组织集群中已部署的Pod组。服务确保他们管理的Pod有一个名称和唯一的集群IP。
-
**Pod:**一个Pod负责运行一个或多个容器,如Docker。Pod代表Kubernetes集群中运行进程的单一实例。
-
卷。卷是一个目录,可以被Pod中的容器访问。类似于Docker卷。
-
**配置图。**ConfigMap负责在运行时将配置文件、环境变量、端口号以及其他一些配置数据绑定到Pod中的容器。在保存/共享非敏感/普通的配置信息时,ConfigMaps会很方便。
-
**Secret:**Secret负责存储和管理任何敏感信息,如密码、OAuth令牌、ssh密钥等。
-
**命名空间。**命名空间负责将集群组织成虚拟的子集群。当多个团队或项目共享同一个Kubernetes集群时,命名空间就会发挥作用。一个集群中可以有许多逻辑上定义的命名空间,它们都可以相互通信。
我假设你已经安装了它。运行下面的命令来启动它并检查其状态。
$ minikube start --vm-driver=virtualbox
你可以运行$ minikube dashboard 命令,以便从浏览器访问用户界面。
你也可以运行$ kubectl describe node minikube | grep InternalIP 命令来获得Minikube的IP地址。这将有助于你将Kubernetes服务暴露给公众访问。你将需要建立http(s)://minikube-ip:service-port 模式。