关于Kubernetes和Minikube设置的基本信息

54 阅读2分钟

在这里,我们看到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 模式。

参考资料