创立Deployment
在 kubernetes 中,deployment 用来部署利用,常见的集中配置含意如下
nginx-deployment.yml
apiVersion: apps/v1 #与k8s集群版本无关,应用 kubectl api-versions 即可查看以后集群反对的版本kind: Deployment #该配置的类型,咱们应用的是 Deploymentmetadata: #译名为元数据,即 Deployment 的一些根本属性和信息 name: nginx-deployment #Deployment 的名称 labels: #标签,能够灵便定位一个或多个资源,其中key和value均可自定义,能够定义多组,目前不须要了解 app: nginx #为该Deployment设置key为app,value为nginx的标签spec: #这是对于该Deployment的形容,能够了解为你期待该Deployment在k8s中如何应用 replicas: 3 #应用该Deployment创立一个应用程序实例 selector: #标签选择器,与下面的标签独特作用,目前不须要了解 matchLabels: #抉择蕴含标签app:nginx的资源 app: nginx template: #这是抉择或创立的Pod的模板 metadata: #Pod的元数据 labels: #Pod的标签,下面的selector即抉择蕴含标签app:nginx的Pod app: nginx spec: #冀望Pod实现的性能(即在pod中部署) containers: #生成container,与docker中的container是同一种 - name: nginx #container的名称 image: nginx:alpine #应用镜像nginx创立container, ports: - containerPort: 80 #外部服务裸露的端口
这外面定义nginx应用的镜像和创立多少个实例,以及container命名标记
当咱们依照须要配置好deployment,应用kubectl apply 去创立部署(常见的几个 kubectl 命令可能须要记一下)
[root@master nginx]# kubectl apply -f nginx-deployment.yml deployment.apps/nginx-deployment created
创立Service
当咱们创立部署结束,nginx 服务仅仅只是部署,咱们还须要让它暴露出本人的服务。
这就相当于给局域网里的电脑插上了网线,从此就能够对外公开本人的服务。
nginx-service.yml
apiVersion: v1kind: Service #该配置的类型,咱们应用的是 Service 服务类型metadata: name: nginx-service #该服务类型的名称spec: selector: #选中的app部署实例 app: nginx #为该Deployment设置key为app,value为nginx的标签 ports: #裸露的端口 - protocol: TCP # 走得tcp 协定 port: 80 #默认端口 targetPort: 80 #内建服务端口 nodePort: 30080 #对外服务端口 type: NodePort
这外面呢,targetPort 就是对应着 deployment 的内网端口,nodePort 则是对外公开的端口。
[root@master nginx]# kubectl apply -f nginx-service.yml service/nginx-service created
关上浏览器,咱们能够看到nginx服务曾经对外开启
一个nignx服务 曾经在集群跑起来了。