首页 > 其他分享 >使用 Kubectl 部署 web 服务到 K8s 集群

使用 Kubectl 部署 web 服务到 K8s 集群

时间:2023-09-09 16:00:47浏览次数:47  
标签:Kubectl service kubectl 部署 blog yaml web deployment K8s

我们需要将业务应用部署到 k8s 集群中。这里我们需要准备好了一个应用并打包成镜像,例如我的镜像地址是:

要让这个 web 应用的镜像在 k8s 中运行,我们首先要定义一个 deployment 资源。

通过创建deploy.yaml来描述 deployment 资源:

通过创建deploy.yaml来描述 deployment 资源:

  • image 属性:就是这个 java web 应用的镜像地址;
  • replicas 属性:代表这个应用只部署一份;

//yaml文件我的放在根目录下,使用此命令执行就可以成功部署服务

kubectl apply -f ~/deploy.yaml

//完成后,你可以通过下面的命令查看刚才部署的 pod

kubectl get pod

//看到如下提示代表应用部署完成,注意其中的 status 字段。只有 Running 才是运行中的状态哦,如果是 ContainerCreating 代表服务容器正在创建中,需要等待一段时间才能使用

NAME                                READY   STATUS    RESTARTS   AGE

myapp-deployment-5cd4d7c78d-lxvcw   1/1     Running   0          12s


2、部署业务应用(部署服务接收外部请求,固定ip)

部署服务,我们继续 yaml 文件的方式操作,创建 service.yaml:

k8s 是一个集群,deployment、service 都是集群内部的资源,他们通过一个内部虚拟网络互相访问。

但是对于外部的用户,这些所有的资源都是不可见的,所以我们还需要配置一个外部访问的入口到 service 的映射规则,从而将内部服务暴露出去。


这里我们就需要使用 ingress 的来实现服务对外暴露的需求。

光是配置并提供服务只完成了一半的工作,完整的操作周期除了正向的安装,还包含了逆向的卸载,下面我们就来学习如何把刚才配置的各种资源给卸载掉。

资源卸载我们就不使用 yaml 脚本了,直接使用 kubectl 命令就可以完成:


卸载 ingress

kubectl delete ingress example-ingress

卸载 service

kubectl delete service myapp-service

卸载 deployment

kubectl delete deployment myapp-deployment


参考资料:

1.https://blog.csdn.net/zouyang920/article/details/125196860?spm=1001.2101.3001.6650.13&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-13-125196860-blog-120224656.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-13-125196860-blog-120224656.235%5Ev38%5Epc_relevant_anti_t3_base&utm_relevant_index=21





标签:Kubectl,service,kubectl,部署,blog,yaml,web,deployment,K8s
From: https://blog.51cto.com/u_7050893/7419970

相关文章

  • 在最新的flutter2解决webview无法访问http问题
    具体操作就是在flutter项目下创建/android/app/src/main/res/xml/network_security_config.xml文件,填上配置内容: <?xmlversion="1.0"encoding="utf-8"?><network-security-config><base-configcleartextTrafficPermitted="true">......
  • [web] Session原理 (转载)
    1SessionWeb三大概念:cookie,session,applicationSession(会话):记录一系列状态用户登录用户登录后的操作Session与cookie功能效果相同。Session与Cookie的区别在于Session是记录在服务端的,而Cookie是记录在客户端的。解释session:当用户访问服务器某个网页时,服......
  • web前端技能方法总结(css、js、jquery、html)(2)
    创建链接块display:block;列表样式在一个无序列表中,列表项的标志(marker)是出现在各列表项旁边的圆点。在有序列表中,标志可能是字母、数字或另外某种计数体系中的一个符号。要修改用于列表项的标志类型,可以使用属性list-style-type:ul{list-style-type:square;}1上面的声明把......
  • SAP Commerce Cloud 里的 smartedit webservices OCC API
    SAPCommerceCloud是SAP提供的云端电子商务解决方案,而OCCAPI(OmniCommerceConnectAPI)是SAPCommerceCloud的一部分,它是一个RESTfulAPI,提供了与SAPCommerceCloud进行交互的接口,使得开发者可以创建,读取,更新,和删除商业数据,包括产品,购物车,用户,和订单等。这个接口/......
  • 报错解决 :Resolved [org.springframework.web.bind.MissingServletRequestParameterE
    报错解决:Resolved[org.springframework.web.bind.MissingServletRequestParameterException解决方法:RequestParam注解加上required=false属性。这样请求参数可以传null对象。如果没有加上required=false属性,这样请求参数传""空字符串也不会报错。如果没有加上required=......
  • Web阶段:第十五章:文件上传&下载
    文件的上传介绍文件的上传和下载功能是很多系统中非常常见的功能。非常的重要。文件的上传1、首先需要一个form表单2、然后在表单内有inputtype=”file”3、提交的方式必须是method=”POST”4、enctype="multipart/form-data"编码类型必须是多段的表单数据enctype属性有两种值:......
  • Web阶段:第十四章:JSTL标签库
    JSTL标签库JSTL标签库全称是指JSPStandardTagLibraryJSP标准标签库。是一个不断完善的开放源代码的JSP标签库。EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个jsp页面变得更佳简洁。JSTL由五个不同功能的标签库组成。功能范围URI......
  • K8S之ipvs负载均衡原理
    1、iptables、ipvs(IPVirtualServer)实现了传输层负载均衡,也就是我们常说的4层LAN交换,作为Linux内核的一部分。ipvs运行在主机上,在真实服务器集群前充当负载均衡器。ipvs可以将基于TCP和UDP的服务请求转发到真实服务器上,并使真实服务器的服务在单个IP地址上显示为虚拟服务......
  • 部署K8S 1.28版本集群部署(基于Containerd容器运行)
    1、主机配置hostnamectlset-hostnamek8s-masterecho"172.21.131.89k8s-master">>/etc/hostssystemctlstopfirewalld&&systemctldisable firewalldsetenforce0&&sed-i"s/SELINUX=enforcing/SELINUX=disabled/g"/etc/......
  • 【TinyWebServer】03 半同步半反应堆线程池(下)
    基础知识静态成员变量将类成员变量声明为static,则为静态成员变量,与一般的成员变量不同,无论建立多少对象,都只有一个静态成员变量的拷贝,静态成员变量属于一个类,所有对象共享。静态变量在编译阶段就分配了空间,对象还没创建时就已经分配了空间,放到了全局静态区。静态成员变量最......