这篇文章将为大家详细讲解有关怎样使用kubectl的Deployment创建App,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
kubectl 的Deployment 功能可以指令Kubernetes 如何创建和更新应用实例。通过kubectl 命令创建一个deployment后,Kubernetes master 会调度deployment配置好的应用实例到集群特定的节点运行。
一旦应用实例被创建好之后,Kubernetes Deployment Controller 会持续监控这些实例。如果运行这些实例的节点down机或被删除,Deployment controller 会替换掉它。所以Kubernetes 提供了一种自修复机制来处理机器故障或维护。
进入下面的链接进行部署应用练习。
练习环境:https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive/
终端输入kubectl get nodes命令可以来查看当前集群
kubectl run命令
run命令创建一个新的部署。 我们需要提供部署名称和应用程序镜像位置 。 如果希望在特定端口上运行应用程序,需要添--port参数 :
kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080
上面的命令通过创建deployment部署了一个应用程序,命令完成了几件事:
搜索可以运行应用程序实例的适当节点(目前只有一个)。
调度应用程序在该节点上运行。
配置集群,以便在需要时重新调度新节点上的实例。
kubectl get deployments
此命令可以查看刚才新创建的部署
查看 app
在Kubernetes内部运行的Pods运行在一个私有的、隔离的网络上。默认情况下,它们可以从同一个kubernetes集群内的其他pod和服务中看到,但不能从 集群 网络之外看到。 当我们使用kubectl时,我们通过API端点与应用程序进行交互。
kubectl命令可以创建一个代理,将通信转发到集群范围的私有网络。按control-C可以终止代理,运行时不会显示任何输出。
打开第二个终端窗口来运行代理。 kubectl proxy
现在我们在主机(在线终端)和Kubernetes集群之间建立了连接。代理允许从这些终端直接访问API。您可以看到通过代理端点托管的所有这些api,现在可以通过http://localhost:8001获得这些api。例如,我们可以使用curl命令直接通过API查询版本: curl http://localhost:8001/version
API服务器将根据pod名称为每个pod自动创建端点,这些端点也可以通过代理访问。
首先我们需要获得Pod名称,我们将存储在环境变量POD_NAME中: export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}') echo "Name of the Pod: $POD_NAME"
现在,我们可以向在该pod中运行的应用程序发出HTTP请求: curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy/
结果如图:
关于怎样使用kubectl的Deployment创建App就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。