使用 Kubectl 部署 web 服务到 K8s 集群
  S3zZhcWeTX7O 2023年11月02日 38 0

我们需要将业务应用部署到 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





【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

S3zZhcWeTX7O