当前位置: 首页 > news >正文

网站编程学习b站2023推广网站

网站编程学习,b站2023推广网站,惠州做网站公司,广州活动网站设计yaml文件编写 YAML语法格式写一个yaml文件demo创建资源对象查看创建的pod资源创建service服务对外提供访问并测试创建资源对象查看创建的service在浏览器输入 nodeIP:nodePort 即可访问 详解k8s中的port:portnodePorttargetPortcontainerPortkubectl run --dry-runc…

yaml文件编写

  • YAML语法格式
  • 写一个yaml文件demo
    • 创建资源对象
    • 查看创建的pod资源
    • 创建service服务对外提供访问并测试
    • 创建资源对象
    • 查看创建的service
    • 在浏览器输入 nodeIP:nodePort 即可访问
  • 详解k8s中的port:
    • port
    • nodePort
    • targetPort
    • containerPort
      • kubectl run --dry-run=client 打印相应的 API 对象而不执行创建
      • 查看生成yaml格式
      • 查看生成json格式
      • 使用yaml格式导出生成模板,并进行修改以及删除一些不必要的参数
      • 将现有的资源生成模板导出
      • 保存到文件中
      • 查看字段帮助信息,可一层层的查看相关资源对象的帮助信息
      • 用 --dry-run 命令生成
      • 用get命令导出

kubernetes支持YAML和JSON格式管理资源对象
JSON格式:主要用于api接口之间消息的传递
YAML格式:用于配置和管理,YAML是一种简介的非标记性语言,内容格式人性化,较易读

YAML语法格式

大小写敏感
使用缩进表示层级关系
不支持Tab键缩进,只使用空格缩进
缩进的空格数目不重要,只要相同层级的左侧对其即可,通常开头缩进两个空格
符号字符后缩进一个空格,如冒号,逗号,短横杠(-)等
“—”表示YAML格式,一个文件的开始,用于分割文件
“#”表示注释
//查看 api 资源版本标签

kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1								#如果是业务场景一般首选使用 apps/v1
apps/v1beta1						#带有beta字样的代表的是测试版本,不用在生产环境中
apps/v1beta2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

写一个yaml文件demo

mkdir /opt/demo
cd demo/vim nginx-deployment.yaml
apiVersion: apps/v1		#指定api版本标签
kind: Deployment		#定义资源的类型/角色,deployment为副本控制器,此处资源类型可以是Deployment、Job、Ingress、Service等
metadata:					#定义资源的元数据信息,比如资源的名称、namespace、标签等信息name: nginx-deployment	#定义资源的名称,在同一个namespace空间中必须是唯一的labels:				#定义Deployment资源标签app: nginx	
spec:					#定义deployment资源需要的参数属性,诸如是否在容器失败时重新启动容器的属性replicas: 3			#定义副本数量selector:				#定义标签选择器matchLabels:		#定义匹配标签app: nginx		#需与 .spec.template.metadata.labels 定义的标签保持一致template:				#定义业务模板,如果有多个副本,所有副本的属性会按照模板的相关配置进行匹配metadata:labels:           #定义Pod副本将使用的标签,需与 .spec.selector.matchLabels 定义的标签保持一致app: nginxspec:containers:				#定义容器属性- name: nginx				#定义一个容器名,一个 - name: 定义一个容器image: nginx:1.15.4		#定义容器使用的镜像以及版本ports:- containerPort: 80		#定义容器的对外的端口

创建资源对象

kubectl create -f nginx-deployment.yaml

查看创建的pod资源

kubectl get pods -o wide
NAME                              READY   STATUS    RESTARTS   AGE    IP            NODE            NOMINATED NODE
nginx-deployment-d55b94fd-29qk2   1/1     Running   0          7m9s   172.17.36.4   192.168.80.12   <none>
nginx-deployment-d55b94fd-9j42r   1/1     Running   0          7m9s   172.17.36.3   192.168.80.12   <none>
nginx-deployment-d55b94fd-ksl6l   1/1     Running   0          7m9s   172.17.26.3   192.168.80.11   <none>

创建service服务对外提供访问并测试

vim nginx-service.yaml
apiVersion: v1  
kind: Service  
metadata:name: nginx-servicelabels:app: nginx  
spec:type: NodePort  ports:- port: 80targetPort: 80  selector:app: nginx

创建资源对象

kubectl create -f nginx-service.yaml 

查看创建的service

kubectl get svc
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        16d
nginx-service   NodePort    10.0.0.119   <none>        80:35680/TCP   14s

在浏览器输入 nodeIP:nodePort 即可访问

http://192.168.80.11:35680
http://192.168.80.12:35680

详解k8s中的port:

在这里插入图片描述
port:为service在clusterIP上暴露的端口
targetport:对应容器映射在pod上的端口
nodeport:可以通过在k8s集群外部使用nodeIP + nodePort来去访问service
containerport:容器年内部使用的端口
k8s集群内部:
客户端—》clusterIP:port—》通过targetport—》podip:containerport
客户端—》nodeIP:nodePort—》通过targetport—》podip:containerport

port

port 是 k8s 集群内部访问service的端口,即通过 clusterIP: port 可以从 Pod 所在的 Node 上访问到 service

nodePort

nodePort 是外部访问 k8s 集群中 service 的端口,通过 nodeIP: nodePort 可以从外部访问到某个 service。

targetPort

targetPort 是 Pod 的端口,从 port 或 nodePort 来的流量经过 kube-proxy 反向代理负载均衡转发到后端 Pod 的 targetPort 上,最后进入容器。

containerPort

containerPort 是 Pod 内部容器的端口,targetPort 映射到 containerPort。

kubectl run --dry-run=client 打印相应的 API 对象而不执行创建

kubectl run nginx-test --image=nginx --port=80 --dry-run=client
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client

查看生成yaml格式

kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o yaml
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml

查看生成json格式

kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o json
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o json

使用yaml格式导出生成模板,并进行修改以及删除一些不必要的参数

kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o yaml > nginx-test.yaml
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml  > nginx-deploy.yaml
vim nginx-test.yaml
apiVersion: v1
kind: Pod
metadata:creationTimestamp: null     #删除labels:run: nginx-testname: nginx-test
spec:containers:- image: nginxname: nginx-testports:- containerPort: 80resources: {}             #删除dnsPolicy: ClusterFirstrestartPolicy: Alwaysstatus: {}                    #删除

将现有的资源生成模板导出

kubectl get svc nginx-service -o yaml

保存到文件中

kubectl get svc nginx-service -o yaml > my-svc.yaml

查看字段帮助信息,可一层层的查看相关资源对象的帮助信息

kubectl explain deployments.spec.template.spec.containers
或
kubectl explain pods.spec.containers

//写yaml太累怎么办?

用 --dry-run 命令生成

kubectl run my-deploy --image=nginx --dry-run=client -o yaml > my-deploy.yaml

用get命令导出

kubectl get svc nginx-service -o yaml > my-svc.yaml
或
kubectl edit svc nginx-service  #复制配置,再粘贴到新文件

//yaml文件的学习方法:
(1)多看别人(官方)写的,能读懂
(2)能照着现场的文件改着用
(3)遇到不懂的,善用kubectl explain … 命令查

http://www.hrbkazy.com/news/10669.html

相关文章:

  • 做商城网站的公司推荐网络运营策划
  • dreamweaver如何做网站一个企业该如何进行网络营销
  • 自己做网站要不要钱阿里巴巴官网
  • 移动网站优化广告代理
  • 郑州正规的网站设计免费软件下载网站有哪些
  • wordpress资讯cms主题刷关键词排名seo软件
  • 房屋中介网站怎么做长沙关键词自然排名
  • 网站建设流程总结网站推广和优化的原因网络营销
  • 哪个网站可以做任务网站seo工具
  • 网站建设制作设计营销公司杭州十大小说网站排名
  • 攻击Wordpress网站百度极简网址
  • c 网站做微信收款功能线下推广渠道和方式
  • 重庆的网站设计公司价格拼多多网店代运营要多少费用
  • 制作钓鱼网站属于什么罪百度小说风云榜
  • 织梦做淘宝客网站视频教程百度账号注册申请
  • 遵化市有做奇麟网站的吗百度热搜广告设计公司
  • 新手如何做英文网站赚美元seo刷关键词排名优化
  • 淄博周村专业网站建设公司网络营销的四大基础理论
  • 东莞凤岗网站建设全媒体运营师报考官网在哪里
  • 北京市重大项目建设指挥部网站如何做网站推广及优化
  • 三亚防疫情最新通知北京seo公司有哪些
  • 做网站细节百度自动点击器下载
  • 长春网络公司宣传廊坊网络推广优化公司
  • 做网站实现登陆功能谷歌浏览器 安卓下载2023版官网
  • 百度网站类型推广咨询服务公司
  • 北京网站建设还公司百度公司好进吗
  • 网站建设平台报价南京seo全网营销
  • 网站开发价钱太原seo顾问
  • 网站出现搜索搜索引擎seo关键词优化
  • b站推广2023mmmseo运营是什么