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

网站建设相关的网站互联网推广运营是干什么的

网站建设相关的网站,互联网推广运营是干什么的,怎么开设自己的网站,冲浪网站优化网作者 | 江小南来源 | 江小南和他的小伙伴们引言前两天#xff0c;公司有个新同事愁眉苦脸#xff0c;看起来心事重重#xff0c;我去问他怎么回事#xff0c;原来是有个需求犯了难#xff1a;一次部署起四个pod#xff0c;每个pod名称还不一样#xff0c;怎么判断是哪个… 作者 | 江小南来源 | 江小南和他的小伙伴们引言前两天公司有个新同事愁眉苦脸看起来心事重重我去问他怎么回事原来是有个需求犯了难一次部署起四个pod每个pod名称还不一样怎么判断是哪个pod产生的日志呢听到这我微微一笑给他讲解了Dowanward API的妙用他一听紧缩的眉头缓缓舒展开来眼看着他将日志名称写成$MY_POD_NAME.log我轻轻点头表示满意。答应的周末请客吃饭把我也乐了。今天就将Dowanward API的功能介绍给大家。总体思路通过配置环境变量或者挂载Dowanward API卷的形式来暴露pod的元数据使pod能够获得相应的信息。环境准备准备三台服务器搭建kubernetes集群。节点名称IPk8s-master172.31.0.2k8s-worker1172.31.0.3k8s-worker2172.31.0.4[rootk8s-master ~]# kubectl get nodes NAME          STATUS   ROLES                  AGE    VERSION k8s-master    Ready    control-plane,master   5d4h   v1.20.9 k8s-worker1   Ready    none                 5d4h   v1.20.9 k8s-worker2   Ready    none                 5d4h   v1.20.9 [rootk8s-master ~]#准备yaml来部署应用。# deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploynamespace: defaultlabels:app: nginx-deploy spec:selector:matchLabels:app: nginx-deployreplicas: 4template:metadata:labels:app: nginx-deployspec:containers:- name: mynginximage: nginximagePullPolicy: IfNotPresentcommand: [ /bin/bash, -ce, tail -f /dev/null ]测试通过上面deployment.yaml部署的应用是不能获取到pod名称的但是使用Dowanward API就可以轻松搞定。有两种方式供大家参考。一、配置环境变量将上面的yaml进行改造。# deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploynamespace: defaultlabels:app: nginx-deploy spec:selector:matchLabels:app: nginx-deployreplicas: 4template:metadata:labels:app: nginx-deployspec:containers:- name: mynginximage: nginximagePullPolicy: IfNotPresentcommand: [ /bin/bash, -ce, tail -f /dev/null ]env:- name: MY_POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: MY_POD_IPvalueFrom:fieldRef:fieldPath: status.podIP- name: HOST_IPvalueFrom:fieldRef:fieldPath: status.hostIP- name: LIMITS_MEMORYvalueFrom:resourceFieldRef:resource: limits.memory我们添加了环境变量env分别取pod名称和ip。[rootk8s-master test]# kubectl apply -f deployment.yaml  deployment.apps/nginx-deploy created [rootk8s-master test]# kubectl get pod NAME                            READY   STATUS    RESTARTS   AGE nginx-deploy-6f4c989cff-2mcm5   1/1     Running   0          55s nginx-deploy-6f4c989cff-mjx9n   1/1     Running   0          55s nginx-deploy-6f4c989cff-vhncx   1/1     Running   0          56s nginx-deploy-6f4c989cff-wtjzd   1/1     Running   0          57s [rootk8s-master test]#通过改造的yaml成功部署了4个pod进入到容器内部一探究竟。[rootk8s-master test]# kubectl exec -it nginx-deploy-6f4c989cff-2mcm5 -c mynginx -- /bin/bash rootnginx-deploy-6f4c989cff-2mcm5:/# echo $MY_POD_NAME nginx-deploy-6f4c989cff-2mcm5 rootnginx-deploy-6f4c989cff-2mcm5:/# echo $MY_POD_IP 192.168.126.42 rootnginx-deploy-6f4c989cff-2mcm5:/# echo $HOST_IP 172.31.0.4 rootnginx-deploy-6f4c989cff-2mcm5:/#成功获取到了pod名称和ip而且宿主机的ip也能获取到在编写代码的时候就可以使用$MY_POD_NAME来获取到相应的值了非常灵活方便。二、挂载Dowanward API卷还是将我们初始的deployment.yaml进行改造。# deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploynamespace: defaultlabels:app: nginx-deploy spec:selector:matchLabels:app: nginx-deployreplicas: 4template:metadata:labels:app: nginx-deployspec:containers:- image: nginximagePullPolicy: IfNotPresentcommand: [ /bin/bash, -ce, tail -f /dev/null ]name: mynginxvolumeMounts:- name: podinfomountPath: /etc/podinforeadOnly: falsevolumes:- name: podinfodownwardAPI:items:- path: namefieldRef:fieldPath: metadata.name- path: namespacefieldRef:fieldPath: metadata.namespace[rootk8s-master test]# kubectl apply -f deployment.yaml  deployment.apps/nginx-deploy configured [rootk8s-master test]# kubectl get pod NAME                           READY   STATUS    RESTARTS   AGE nginx-deploy-d5fc6886d-c7fvh   1/1     Running   0          4m8s nginx-deploy-d5fc6886d-wgzvs   1/1     Running   0          4m6s nginx-deploy-d5fc6886d-xc699   1/1     Running   0          4m6s nginx-deploy-d5fc6886d-xvgj7   1/1     Running   0          4m8s [rootk8s-master test]#同样创建了4个pod我们进入到容器内部。[rootk8s-master test]# kubectl exec -it nginx-deploy-d5fc6886d-c7fvh -c mynginx -- /bin/bash rootnginx-deploy-d5fc6886d-c7fvh:/# cd /etc/podinfo/ rootnginx-deploy-d5fc6886d-c7fvh:/etc/podinfo# ls name  namespace rootnginx-deploy-d5fc6886d-c7fvh:/etc/podinfo# cat name nginx-deploy-d5fc6886d-c7fvh rootnginx-deploy-d5fc6886d-c7fvh:/etc/podinfo# cat namespace  default rootnginx-deploy-d5fc6886d-c7fvh:/etc/podinfo#同样获取到了pod名称但是这种方式不是环境变量在编写代码时使用到的话需要做一些处理。推荐使用配置环境变量的形式。梳理总结Dowanward API常用的字段如下使用fieldRef可以声明使用的字段字段含义spec.nodeName宿主机名称status.hostIP宿主机IPmetadata.namePod的名称metadata.namespacePod所属的Namespacestatus.podIPPod的IPspec.serviceAccountNamePod的Service Account的名称metadata.uidPod的UIDmetadata.labels[KEY]指定KEY的Label值metadata.annotations[KEY]指定KEY的Annotation值metadata.labelsPod的所有Labelmetadata.annotationsPod的所有Annotation使用resourceFieldRef可以声明使用的字段字段含义limits.cpu容器的CPU limitrequests.cpu容器的CPU requestlimits.memory容器的memory limitrequests.memory容器的memory request往期推荐Docker 那些事儿如何安全地停止、删除容器使用 nginx 轻松管理 kubernetes 资源文件Redis 内存满了怎么办这样置才正确实战 Kubectl 创建 Deployment 部署应用点分享点收藏点点赞点在看
http://www.yutouwan.com/news/152844/

相关文章:

  • seo网站编辑云梦做网站的优势
  • asp.net 网站的头部和底部怎么来做 include北京出啥事了最新情况
  • 网站百度无排名wordpress 4.7.11漏洞
  • 建设企业网站模板下载安岳网站建设
  • 网站建设需要使用阿里云吗深圳seo优化seo优化
  • 做外贸需要英文网站企业宣传片制作公司哪家好
  • 查看网站是否被k温州网站优化指导
  • 电影网站建设目的网站美编设计怎么做
  • 哈尔滨寸金网站建设公司口碑有效的网络编址方案有
  • 在阿里云上建立网站的步骤百度高级搜索
  • 在百度上做个网站多少合适宁河网站建设
  • 如何用源码建站有趣的网站源码
  • 南宁网站推广公司普陀区网站建设公司哪家好
  • 如何选择校园文化设计公司盐城seo网站优化
  • 合肥响应式网站建设营销技巧第二季
  • 知名的咨询行业网站制作html登录注册页面代码
  • 低价网站空间济南城之运维网络科技
  • 郑州网站建设公司制作定制政务网站建设目的 意义
  • 网站项目建设管理如何做百度搜索推广
  • 天津企业建站程序腾讯网络游戏大全列表
  • 国外做油画的网站东莞做棋牌网站建设
  • 普通建站可以做外国网站文章
  • 做网站去哪里找模板数据展示网站模板
  • 有什么类似凡科建站网站建设项目管理绩效情况分析
  • 济南做网站的公司有哪些四川seo多少钱
  • 教育信息化建设网站如何做网站搬家
  • 网站开发公司一站式服务廊坊网站建设维护
  • 株洲关键词优化公司西安网站优化培训
  • 高新区网站建设公司彩妆网站建设策划书
  • 台山住房和城乡建设 网站深圳 网站设计公司