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

王也王志飞西安网络优化培训机构公司

王也王志飞,西安网络优化培训机构公司,微信代运营,门户网站建设的平台搭建文章目录 控制器含义解释pod的标签与注释ReplicaControllerReplicaSetDeploymentsDaemonSetJobCronjob参考文档 控制器含义解释 空调遥控器知道吧ReplicationController: ReplicationController确保在任何时候都运行指定数量的pod副本。换句话说#xff0c;一个ReplicationCo… 文章目录 控制器含义解释pod的标签与注释ReplicaControllerReplicaSetDeploymentsDaemonSetJobCronjob参考文档 控制器含义解释 空调遥控器知道吧ReplicationController: ReplicationController确保在任何时候都运行指定数量的pod副本。换句话说一个ReplicationController确保一个pod或一组同类的pod总是处于可用状态。ReplicaSet: ReplicaSet的目的是维护在任何给定时间运行的一组稳定的pod副本。因此它通常用于保证指定数量的相同pod的可用性。Deployments: 部署针对Pods和ReplicaSets提供了宣告式的更新。StatefulSets: StatefulSet常用于管理有状态的应用。DaemonSet: 它是确保所有的节点或一些节点都运行一个Pod的复本。 pod的标签与注释 标签就是名字的意思 kubectl run httpd \ --imagehttpd:2.4 \ --replicas1 \ --labelsver2,envprod查看标签 kubectl get deployment --show-labelskubectl label deployments httpd canarytrue kubectl get deployment -L canary 移除 kubectl get deployment -L canary 显示标签 kubectl get pods --show-labels选择标签为某个值 kubectl get pod --selectorver2标签是抓取pod的唯一依据 ReplicaController 管理它自己管理的pod数量保持一致[rootk8s-01 chapter04]# cat web-rc.yaml apiVersion: v1 kind: ReplicationController metadata:name: web spec:replicas: 3selector:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginxports:- containerPort: 80[rootk8s-01 chapter04]# kubectl create -f web-rc.yaml replicationcontroller/web created [rootk8s-01 chapter04]# kubectl get pod NAME READY STATUS RESTARTS AGE httpd 1/1 Running 0 22m httpd-1 1/1 Running 0 21m nginx-97499b967-jzxwg 1/1 Running 0 14h web-5bq9k 0/1 ContainerCreating 0 4s web-rvbmm 0/1 ContainerCreating 0 4s web-x6wxd 0/1 ContainerCreating 0 4s [rootk8s-01 chapter04]# kubectl get rc NAME DESIRED CURRENT READY AGE web 3 3 0 14s [rootk8s-01 chapter04]# kubectl get replicationController NAME DESIRED CURRENT READY AGE web 3 3 1 27s如果删除一个pod 会自己新增一个pod kubectl delete pod/web-x6wxd新增一个标签看看 [rootk8s-01 chapter04]# kubectl get pod --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-97499b967-jzxwg 1/1 Running 0 14h appnginx,pod-template-hash97499b967 web-rftd7 1/1 Running 0 4m16s appnginx web-rvbmm 1/1 Running 0 7m35s appnginx web-x6wxd 1/1 Running 0 7m35s appnginx[rootk8s-01 chapter04]# kubectl label pod web-rftd7 typespecial pod/web-rftd7 labeled [rootk8s-01 chapter04]# kubectl get pod --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-97499b967-jzxwg 1/1 Running 0 14h appnginx,pod-template-hash97499b967 web-rftd7 1/1 Running 0 5m20s appnginx,typespecial web-rvbmm 1/1 Running 0 8m39s appnginx web-x6wxd 1/1 Running 0 8m39s appnginx覆盖过去 kubectl label pod web-rftd7 appnginx1 --overwrite添加pod的标签 # kubectl label pod web-z8stj typespecial更改pod的标签 # kubectl label pod web-z8stj appfoo --overwrite再次列出pod # kubectl get pods –L app修改rc的数量为2个 [rootk8s-01 chapter04]# kubectl get rc NAME DESIRED CURRENT READY AGE web 3 3 3 17m [rootk8s-01 chapter04]# kubectl edit rc web replicationcontroller/web edited [rootk8s-01 chapter04]# kubectl get rc NAME DESIRED CURRENT READY AGE web 2 2 2 18m修改里面的数量为2 个水平扩缩容 [rootk8s-01 chapter04]# kubectl scale rc web --replicas6 replicationcontroller/web scaled [rootk8s-01 chapter04]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-97499b967-jzxwg 1/1 Running 0 14h web-fhg2l 0/1 ContainerCreating 0 4s web-nsxsh 0/1 ContainerCreating 0 4s web-pcwkz 0/1 ContainerCreating 0 4s web-rvbmm 1/1 Running 0 19m web-vj48d 0/1 ContainerCreating 0 4s web-x6wxd 1/1 Running 0 19mkubectl delete rc web ,删除rcRC (ReplicaController) 通过标签来控制pod的改变pod的标签pod会进行变化 ReplicaSet 针对rc而言选择更加灵活kubectl describe rs[rootk8s-01 chapter04]# cat web-replicaset.yaml apiVersion: apps/v1 kind: ReplicaSet metadata:name: web spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx生产环境用rs多些 Deployments Deployment为Pods和ReplicaSets提供声明式的更新。 在部署中描述一个期望的状态部署控制器以某个控制的速率改变实际的状态到期望的状态控制更新的节奏和速率[rootk8s-01 chapter04]# cat nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploymentlabels:app: nginx spec:replicas: 3selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.7.9ports:- containerPort: 80创建 # kubectl apply –f nginx-deployment.yaml查看部署 # kubectl get deployment查看部署的状态 # kubectl rollout status deployment.v1.apps/nginx-deployment查看通过部署创建的rs # kubectl get rs查看pod自动产生的labels # kubectl get pods –show-labels更新nginx:1.7.9为nginx:1.9.1 # kubectl –record deployment.apps/nginx-deployment set image deployment.v1.apps/nginx-deployment nginxnginx:1.9.1 或者 # kubectl set image deployment/nginx-deployment nginxnginx:1.9.1 –record 或者 # kubectl edit deployment.v1.apps/nginx-deployment查看更新的状态 # kubectl rollout status deployment.v1.apps/nginx-deployment通过以下命令查看部署 # kubectl get deployment查看部署的rs # kubectl get rs查看新的pods # kubectl get pods查看部署的详情 # kubectl describe deployments回滚部署 更新一个不存在的镜像 # kubectl set image deployment.v1.apps/nginx-deployment nginxnginx:1.91 –recordtrue通过以下命令查看更新卡住了 # kubectl rollout status deployment.v1.apps/nginx-deployment查看部署的rs # kubectl get rs查看部署的pods # kubectl get pods查看部署的描述信息 # kubectl describe deployment查看部署的版本 # kubectl rollout history deployment.v1.apps/nginx-deployment查看每个版本的详情 # kubectl rollout history deployment.v1.apps/nginx-deployment –revision2回退到先前的版本 # kubectl rollout undo deployment.v1.apps/nginx-deployment回退到特定的版本 # kubectl rollout undo deployment.v1.apps/nginx-deployment --to-revision2检查回退是否成功 # kubectl get deployment nginx-deployment部署的扩容 扩容副本数量为10 # kubectl scale deployment.v1.apps/nginx-deployment --replicas10如果启用了水平的pod自动扩容可以执行如下 # kubectl autoscale deployment.v1.apps/nginx-deployment --min10 --max15 --cpu-percent80扩容的比例和刻度 确保部署的10个复本处于运行 # kubectl get deploy更新一个不存在的镜像并查看结果 # kubectl set image deployment.v1.apps/nginx-deployment nginxnginx:sometag # kubectl get rs更新复本的数量为15个再次查看结果,然后删除本次部署 # kubectl scale deployment.v1.apps/nginx-deployment --replicas15 # kubectl get deployment # kubectl get rs # kubectl delete deploy nginx-deployment暂停和继续部署 创建部署 # kubectl create –f nginx-deployment.yaml暂停更新 # kubectl rollout pause deployment.v1.apps/nginx-deployment更新镜像 # kubectl set image deployment.v1.apps/nginx-deployment nginxnginx:1.9.1查看是否有新的更新开始 # kubectl rollout history deployment.v1.apps/nginx-deployment恢复部署 # kubectl rollout resume deployment.v1.apps/nginx-deploymentDaemonSet 使用DaemonSet在每个节点上运行一个pod DaemonSet确保创建尽可能多的pod,并将每个pod部署到自己的节点上。使用DaemonSet仅在特定的节点上运行Pods 这可以通过在pod模板中指定node-selector属性来完成的它是DaemonSet定义的一部分[rootk8s-01 chapter04]# cat ssd-monitor-daemonset.yaml apiVersion: apps/v1 kind: DaemonSet metadata:name: ssd-monitor spec:selector:matchLabels:app: ssd-monitortemplate:metadata:labels:app: ssd-monitorspec:nodeSelector:disk: ssdcontainers:- name: mainimage: luksa/ssd-monitor[rootk8s-01 chapter04]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-97499b967-jzxwg 1/1 Running 0 16h 10.244.1.2 k8s-02 none none打标签 kubectl label node k8s-02 diskssdkubectl get ds kubectl get pods打完标签后指哪打哪Job 这种是运行一次直到完成在Job完成后它并不会删除Pod允许我们可以查看它的日志在Job中运行多个Pod实例 Job可以配置为创建多个Pod实例依并行或有序的方式运行它们。按顺序来运行Job 如果需要一个job运行多次可以将completions设置为希望job的Pod运行多次。 配置请参考文件multi-completion-batch-job.yaml以并行的方式运行job pods. 如果让job并行运行多个pods可以使用parallelism指定并运行pod的数量。 配置请参考文件multi-completion-batch-job2.yaml限制Job pod的完成时间 通过设置activedeadlinesecond属性 [rootk8s-01 chapter04]# cat multi-completion-batch-job.yaml apiVersion: batch/v1 kind: Job metadata:name: multi-completion-batch-job spec:completions: 5template:metadata:labels:app: batch-jobspec:restartPolicy: OnFailurecontainers:- name: mainimage: luksa/batch-job [rootk8s-01 chapter04]# cat multi-completion-batch-job2.yaml apiVersion: batch/v1 kind: Job metadata:name: multi-completion-batch-job2 spec:completions: 5parallelism: 2template:metadata:labels:app: batch-jobspec:restartPolicy: OnFailurecontainers:- name: mainimage: luksa/batch-job Cronjob 这个是定时计划任务周期性的[rootk8s-01 chapter04]# cat batch-job-every-fifteen-minutes.yaml apiVersion: batch/v1beta1 # API group的版本是v1beat1,这里不要写错 kind: CronJob metadata:name: batch-job-every-fifteen-minutes spec: # 该任务将会在每小时的0153045分运行schedule: 0,15,30,45 * * * *jobTemplate:spec:template:metadata:labels:app: periodic-batch-job-every-fifteen-minutesspec:restartPolicy: OnFailurecontainers:- name: mainimage: luksa/batch-job [rootk8s-01 chapter04]# cat cronjob.yaml apiVersion: batch/v1beta1 kind: CronJob metadata:name: hello spec:schedule: */1 * * * *jobTemplate:spec:template:spec:containers:- name: helloimage: busyboxargs:- /bin/sh- -c- date; echo Hello from the kubernetes clusterrestartPolicy: OnFailure使用以下命令获取它的状态 # kubectl get cronjob hello也可以通过以下命令获取它的状态 # kubectl get jobs --watch可以通过以下命令查看上次调度的时间 # kubectl get conrjob hello删除cronjob # kubectl delete cronjob hello 参考文档 https://edu.csdn.net/course/detail/27762?spm1003.2449.3001.8295.2
http://www.hkea.cn/news/14374496/

相关文章:

  • 云南建站初中信息科技怎么自己做网站
  • wordpress模板 站长西安搜索引擎优化
  • 手机网站建设策划书dreamwearver可以做网站吗
  • 游戏公司招聘网站电子商城官方网站
  • 建材网站建设 南宁如何弄微信小程序店铺
  • 手机网站公司哪家好wordpress文章开始加内容
  • 云建站公司网站开发入门书籍
  • 企业网站排名优化价格重装的系统没有wordpress
  • 雄安微网站开发硬件产品开发流程图
  • 多个网站如何做301深圳做积分商城网站建设
  • wordpress瀑布流主 65533优化公司
  • 专业seo站长工具个人wordpress是否需要备案
  • 高端商务经纪网站建设云南网直播
  • 作风建设网站长沙网站设计公司排名
  • 手机制作网站的软件四川房产信息网官网
  • 网站开发问卷调查厦门网站建设找维品
  • 建立一个个人网站做360网站优化快
  • 特色食品网站建设策划书免费项目管理软件app
  • 做直播网站软件设计公司需要什么资质
  • 建设网站需要的资源小程序后台管理系统
  • 电子商务网站建设考试试题网页制作素材免费网站
  • 没有网站怎么做淘客家用电脑可以做网站服务器
  • 成都专业手机网站建设服务种子搜索引擎
  • 电子商务网站建设模块1免费做网站
  • 怎么样做网站代建站之星凡客
  • html 网站模板简单近期新闻
  • 网站开发后端论文django网站开发源码
  • 免费优化网站建设网站交互怎么做的
  • 网站首次备案 多久网站优化费用
  • 手机怎么做网站服务器网站图片切换怎么做