ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

deployment控制器yaml 部署nginx镜像 kubectl apply -f

2022-04-09 19:04:58  阅读:198  来源: 互联网

标签:kubectl nginx yaml web deployment ##### ###


deployment.YAML
##########################
##不支持tab缩进,空格缩进
##开头缩进2个空格
##字符后缩进1个空格,如冒号、逗号
##"---" 文件开始
##"#"注释

 

 

 


####示例
#####https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/
#####deployment.yaml 格式如下#####

---------------------------控制器定义--------------------------
---
apiVersion: apps/v1       ###1版本号
kind: Deployment          ###1资源类型

metadata:                     ###1资源元数据
name: web

spec:                         ###1资源规格
replicas: 3                         ###2副本数

selector:                            ###2标签选择器 metadata.labels 一致
matchLables:
app: web

---------------------------被控对象--------------------------
template:                        ###2pod模板
metadata:                                   ###3pod元数据
labels:
app: web
spec:                                          ###3pod规格
containers:                                     ###4容器配置
- name: web
   image: nginx

 

 

 

 

 


#####service.yaml 格式如下#####

apiVersion: apps/v1    ###1版本号
kind: Service         ###1资源类型

metadata:                        ###1资源元数据
name: web
spec:                               ###1资源规格
  ports:
    - port: 80                                         ###3 Service端口
     protocol: TCP
     targetPort: 80                                ###3 镜像内服务端口;如nginx镜像端口80
  selector:                              ###2标签选择器 与Deployment中标签一致
    app: web
 type: NodePort                   ###2 Service 类型

https://kubernetes.io/docs/concepts/services-networking/service/

 

 

 

 

 

 

 

 

1)、####kubectl get pods

 

 


2)、############deployment.yaml
vi deployment.yaml
#####https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/
#############
apiVersion: apps/v1
kind: Deployment
metadata:
name: web2
spec:
replicas: 3
selector:
matchLabels:
app: nginx2
template:nginx
metadata:
labels:
app: nginx2
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80

 

 

 

 


3)、############kubectl apply -f deployment.yaml#####新建、更新
#########另一方式###kubectl create deployment web --image=nginx --replicas=3########新建

 

 


#####查看deployment.版本

 

 

 

 

4)、 端口暴露

###########name、app  与deployment.yaml 一致
###https://kubernetes.io/docs/concepts/services-networking/service/
vi service.yaml
--------------------------------------------------------------------
apiVersion: v1
kind: Service
metadata:
name: web2
spec:
selector:
app: nginx2
ports:
- protocol: TCP
port: 80
targetPort: 80

 

 


--------------------------------------------------------------------


############kubectl apply -f service.yaml#####新建、更新

 

 


######kubectl get service

######## deployment web 端口暴露另一方式#################

##另一方式######## #kubectl expose deployment web2 --port=80 --target-por80 --type=NodePort

 

 




5)、 kubectl get pods
kubectl get pods,service

 

 


kubectl get endpoints ##########service关联的pod 负载均衡

 

标签:kubectl,nginx,yaml,web,deployment,#####,###
来源: https://www.cnblogs.com/smallfa/p/16123025.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有