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

宜宾网站制作郑州百度快照优化排名

宜宾网站制作,郑州百度快照优化排名,做网站的公司现在还赚钱吗,wordpress 签到 插件下载k8s职责 自动化容器部署和复制随时扩展或收缩容器容器分组group,并且提供容器间的负载均衡实时监控,即时故障发现,自动替换 k8s概念及架构 pod pod是容器的容器,可以包含多个container pod是k8s最小可部署单元,容器…

k8s职责

  • 自动化容器部署和复制
  • 随时扩展或收缩容器
  • 容器分组group,并且提供容器间的负载均衡
  • 实时监控,即时故障发现,自动替换

k8s概念及架构

在这里插入图片描述

pod

pod是容器的容器,可以包含多个container
pod是k8s最小可部署单元,容器的本质是一个隔离的进程,而Pod则是一组相互联系的进程(进程组)。Pod 内的多个容器共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。
pod内部容器网络互通,每个pod都有独立虚拟IP。
pod都是部署完整的应用或模块(项目中通常:一个pod部署一个应用,或部署一个应用的一部分)。
在这里插入图片描述

#获取节点
kubectl get pods

在这里插入图片描述

#通过kubectl 运行一节点
kubectl run nginx-pod --image=nginx

在这里插入图片描述

#查看详细信息
kubectl describe pod nginx-pod

在这里插入图片描述

#查看拓展信息 可以看到IP等信息
kubectl get pods -o wide

在这里插入图片描述
提醒:官方不退年使用kubectl 命令来创建pod,推荐使用yml的方式来创建pod

YAML 方式创建POD
apiVersion: v1
kind: Pod
metadata:name: demo-podlabels: app: demonginxtype: nginxservice
spec:containers:- name: nginximage: nginx
#创建并启动pod 下面两个命令是一样的效果
kubectl create -f pod-ngix.yml
kubectl apply -f pod-ngix.yml
#停止pod
kubectl delete -f pod-ngix.yml

字段说明
apiVersion:API版本号。根据创建的内容,必须使用正确的API版本,不同版本号支持的功能可能不太一样。V1, app/V1beta,extensions/V1beta,等等
kind:资源类型,类型指的是创建的对象的类型,其他可能的值 Pod, Service, ReplicaSet, Deployment.
metadata:用来描述这个pod的元信息,比如名称和标签。有了这个元信息,我们区分这个pod,方便众多pod进行筛选。比如我们可以pod标识为前端应用,后端应用,数据库,中间件等。
spec: 其中container是一个数组,因为pod中可以有多个容器,名字前面的破折号表示这是列表中的第一个项目。列表中的每一个元素又是一个字典,所以要添加一个名称和image属性。image的值是nginx,这是docker仓库中的docker镜像。

ReplicationController

Pod 可以通过控制器来管理。它可以监测Kubernetes对象并及时反应,有下面这两个应用场景:
1 保证高可用,比如一个节点挂掉了,控制器会监测到会立即开启一个新的节点继续提供服务。
2 负载均衡,比如我们需要一个服务维持在3个节点以负载均衡。那么比如我们一个节点所在的宿主机的资源耗尽了,这个时候控制器可以调度在集群的其它机器上再创建一个节点,始终保持这个服务有三个节点来提供服务。

apiVersion: v1
kind: ReplicationController
metadata:name: demo-rclabels: app: demonginxtype: nginxservice
spec:template:metadata:name: ningx-podlabels: app: nginxappspec:containers:- name: nginximage: nginxreplicas: 3

可以看到和前面的yml非常的类似,只是这次我们在spec定义了一个模板,这个模板就是比如我们一个节点挂掉了,这个时候控制器可以用这个模板来创建副本。同时replicas制定了节点数量为三个。

提醒:这里有个现象,比如你之前用命令行创建了一个pod,然后pod的标签和使用rc的一样,你会发现rc在启动的时候会直接把这个节点拿过来直接使用,也就是实际上只创建了两个节点

ReplicaSet

ReplicaSet与ReplicationController非常相似。ReplicaSet则相当于ReplicationController的升级版,它的作用也是控制pod的数量始终维持在预设的个数。

apiVersion: apps/v1 #注意需要使用这个版本
kind: ReplicaSet
metadata:name: demo-rclabels: app: demonginxtype: nginxservice
spec:template:metadata:name: ningx-podlabels: app: nginxapptype: nginxservice #注意下面 selector 指定的matchLabels 要和这里的labels来对应spec:containers:- name: nginximage: nginxreplicas: 3selector: matchLabels:#这个是指定使用那个标签的服务 比如之前有一个服务标签叫这个 会直接拿过来用 和ReplicationController 一样 只是 ReplicationController不显示的定义,默认与pod定义文件中提供的标签相同type: nginxservice
#查看replicaset
kubectl get replicaset
#查看详细信息
kubectl describe replicaset demo-rs
扩容

使用下面命令:

kubectl scale replicaset myapp-rs --replicas=6
#修改命令 直接修改配置yml文件 修改以后k8会响应变化 demo-rc为replicaset名称
kubectl edit rs  demo-rc 

Deployment

官方推荐不要直接使用ReplicaSet,用Deployments。Deployment可以通过selector来匹配labels字段,过滤出它所关心的被控制对象。
Deployment不直接管理Pod对象,而是由Deployment管理ReplicaSet,再由ReplicaSet负责管理Pod对象。
Deployment为我们提供了使用滚动更新无缝升级底层实例的能力,e.g.撤销变化,暂停,并根据需要恢复变化。

apiVersion: apps/v1
kind: Deployment
metadata:name: myapp-deploymentlabels: app: myapptype: myservice
spec:selector: matchLabels:type: myservicereplicas: 3template:metadata:name: myapp-podlabels: app: myapptype: myservicespec:containers:- name: nginximage: nginx
#查看
kubectl get deployments
#查看所有资源
kubectl get all
kubectl describe deploy demo-deploy
滚动更新与回滚
kubectl create -f myapp-deploy.yml --record #通过--record 执行以后就可以看到history里面多了一条 记录

在这里插入图片描述

#我们可以看到滚动更新的日志
kubectl edit deployment myapp-deployment --record && kubectl rollout status deployment/myapp-deployment

在这里插入图片描述

#在执行一次镜像修改
kubectl set image deployment myapp-deployment nginx=nginx:perl --record && kubectl rollout status deployment/myapp-deployment

在这里插入图片描述

kubectl describe pod  myapp-deployment-f5b5cdd5-22278

我们可以看到镜像已经变成了perl
在这里插入图片描述
接着我们做一次回滚

kubectl rollout undo deployment/myapp-deployment

可以看到就是把1拿过来重新执行一遍:
在这里插入图片描述
deployment 可以简写为deploy ,我们可以通过kubectl api-resources 这个命令来查看
这里有那些命令可以简写,简写成什么,对应的版本是什么
在这里插入图片描述

多容器Pod

微服务架构允许我们根据需要使用需要扩展、缩减以及修改每个服务, 而不是修改整个应用程序。
有时可能需要两个服务一起工作,例如Web服务器和日志记录服务。每个Web服务器实例都需要一个日志收集代理一组。但是二者具有独立的代码库,单独开发和部署。

  • 共享同一Pod生命周期, 一起创建和销毁。
  • 共享相同的网络空间,可以通过localhost相互访问,
  • 共享存储卷。
    pod yaml文件中spec部分下的container部分是一个数组,允许一个pod中有多个container
 apiVersion: v1
kind: Pod
metadata:name: myapp-podlabels: app: myapptype: myservice
spec:containers: #这里指定了多个容器- name: nginximage: nginx- name: log-agentimage: log-agent
http://www.hrbkazy.com/news/7087.html

相关文章:

  • 专注做一家男生最爱的网站国色天香站长工具
  • 如何做网站淘客北京网络推广有哪些公司
  • 质监站网址少儿培训
  • 表白时刻网页制作seo技术分享免费咨询
  • 想要导航网站推广怎么做免费发布产品的平台
  • 如何在腾讯云上建设网站青岛网站建设推广公司
  • 阿里巴巴的电子商务网站建设武汉网站建设优化
  • 营销型网站能解决什么问题seo排名优化教程
  • 网站做301的坏处网站流量分析的指标有哪些
  • wordpress 添加数据关键词seo价格
  • 做网站价格报价费用多少钱域名服务器ip地址查询
  • wordpress集成api杭州seo专员
  • 有个网站做字的图片网站关键词优化推广哪家快
  • 郑州哪些公司做网站建设优化关键词排名
  • 我赢网seo优化网站商城网站建设
  • 外链发布网站广东整治互联网霸王条款
  • 建设网站如何进行网站备案如何刷app推广次数
  • VPS如何做网站服务器搜索引擎网站大全
  • 中国最好的做网站高手做推广公司
  • 设计家官网室内设计视频seo的方式有哪些
  • 深圳定制建站网站建设网页制作平台有哪些
  • 珠海网站定制开发友情链接怎么做
  • 武汉网站快照推广网站seo策划方案案例分析
  • 找做网站的公司好嘉兴seo外包
  • 免费app制作网站外贸推广平台哪个好
  • WordPress 免费汉化主题seo 技术优化
  • 济宁网站建设哪家好建立一个国外的网站
  • python 做网站 代码会上海网络推广平台
  • 行业网站建站青岛公司东莞建设企业网站公司
  • bootstarp做网站不好看友链购买网