欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

K8s学习之路(四)

程序员文章站 2024-03-11 16:58:31
...

上篇文章已经讲解了如何制作镜像,这节内容主要是讲在k8s上部署第一个应用。
部署应用我们需要使用kubectl命令工具和yaml文件进行进行部署:

一、部署过程
(1)创建YAML文件
(2)应用YAML文件
(3)查看部署结果

下面用实例说明:
二、实例–部署JavaWeb

1.部署应用程序

(1)创建YAML文件bd-deployment,内容如下:

	apiVersion: apps/v1 #与k8s集群版本有关,使用 kubectl api-versions 即可查看当前集群支持的版本
	kind: Deployment #应用程序类型,此处使用的是 Deployment
	metadata: #译名为元数据,即 Deployment 的一些基本属性和信息
	  name: bd-deployment #Deployment 的名称
	  labels: #标签,可以灵活定位一个或多个资源,其中key和value均可自定义,可以定义多组
	    app: bd-test #为该Deployment设置key为app,value为bd-test的标签
	spec: #这是关于该Deployment的属性,可以理解为你期待该Deployment在k8s中如何使用
	  replicas: 1 #使用该Deployment创建的应用程序实例数量,即副本数量
	  selector: #标签选择器,与上面的标签共同作用
	    matchLabels: #选择包含标签app:bd-test的资源
	      app: bd-test
	  template: #这是创建的Pod的模板
	    metadata: #Pod的元数据
	      labels: #Pod的标签,上面的selector即选择包含标签app:bd-test的Pod
	        app: bd-test
	    spec: #Pod的属性,即期望Pod实现的功能
	      containers: #生成container
	      - name: bdboardcontainer #container的名称
	        image: bd-board:1.0  #使用的镜像

(2)应用YAML文件
kubectl apply -f bd-deployent.yaml

(3)查看部署结果

 # 查看 Deployment
kubectl get deployments
 # 查看 Pod
kubectl get pods

2.发布应用程序程序

(1) 创建bd-service.yaml文件,内容如下:

	apiVersion: v1
	kind: Service 
	metadata:
	  name: bd-service #Service 的名称
	  labels:
	    app: bd-test
	spec: #Service 的属性,描述了 Service 如何选择 Pod,如何被访问
	  selector:
	    app: bd-test #选择包含标签 app:bdboard-jw 的 Pod
	  ports:
	  - name: bd-test-port #端口的名字 
	    protocol: TCP #协议类型 TCP/UD
	    port: 8088 #集群内的其他容器组可通过 8088 端口访问 Servic,一般与 targetPort 一致
	    nodePort: 32600 #通过任意节点的 32600 端口访问 Service
	    targetPort: 8088 #将请求转发到匹配 Pod 的 8088 端口,一般就是pod的端口
	  type: NodePort #Serive的类型,NodePort表示可以通过访问集群中任意节点+端口号的方式访问服务

(2)应用YAML文件:
kubectl apply -f bd-service.yaml

(3)查看部署结果
kubectl get services -o wide

3.验证部署结果
curl <任意节点的 IP>:32600
也可以在浏览器中直接输入 :任意节点IP:32600

参考链接:link

欢迎评论反馈,谢谢~

相关标签: kubernetes docker