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

创建wordpress网站寄生虫seo教程

创建wordpress网站,寄生虫seo教程,网站建设个人简历,江苏网站建设多少钱目录 1. Namespace1) namespace作用2) namespace资源的具体操作 2. Pod1) Pod概述2) Pod资源的具体操作 3. Label1) Label概述2) Label资源的具体操作 4. Deployment1) Deployment概述2) Deployment控制器的具体操作 5. Service1) Service概述2) Service资源的具体操作 1. Name…

目录

  • 1. Namespace
    • 1) namespace作用
    • 2) namespace资源的具体操作
  • 2. Pod
    • 1) Pod概述
    • 2) Pod资源的具体操作
  • 3. Label
    • 1) Label概述
    • 2) Label资源的具体操作
  • 4. Deployment
    • 1) Deployment概述
    • 2) Deployment控制器的具体操作
  • 5. Service
    • 1) Service概述
    • 2) Service资源的具体操作


1. Namespace

1) namespace作用

Namespace主要作用实现多套环境的资源隔离多租户的资源隔离

● 多套环境的资源隔离:默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。
在这里插入图片描述

● 多租户的资源隔离:可以通过kubernetes的授权机制,将不同的namespace交给不同租户进行管理,这样就实现了多租户的资源隔离。此时还能结合kubernetes的资源配额机制,限定不同租户能占用的资源,例如CPU使用量、内存使用量等等,来实现租户可用资源的管理。
在这里插入图片描述

Kubernetes在启动之后,会默认创建几个Namespace:
在这里插入图片描述
① default:所有未指定Namespace的对象都会被分配到default命名空间;
② kube-flannel:存放网络插件相关的pod;
③ kube-node-lease:集群节点之间的心跳维护(节点间通过心跳来确保对方处于运行状态),v1.13开始引入,少用;
④ kube-public:此命名空间下的所有资源可以被所有人访问,包括未认证的用户,比较不安全,少用;
⑤ kube-system:所有由Kubernetes系统创建的资源都位于此命名空间下。
在这里插入图片描述

2) namespace资源的具体操作

  1. 查看namespace
# 查看所有namespace
kubectl get ns
# 查看某个namespace
kubectl get ns ns_name
# 查看某个namespace详情
kubectl describe ns ns_name

在这里插入图片描述
在这里插入图片描述
资源限制结合第一部分提到的资源配额机制(CPU使用量、内存使用量等等),即在此处进行设置。

  1. 创建namespace
kubectl create ns ns_name
  1. 删除namespace
kubectl delete ns ns_name
  1. 使用yaml文件进行配置
# test-ns.yaml
apiVersion: v1
kind: Namespace
metadata:name: test-ns

再执行创建或删除命令

kubectl create -f test-ns.yaml # 也可以使用apply
kubectl delete -f test-ns.yaml

在这里插入图片描述
总之,Namespace实际上就是一种边界,用来实现资源的隔离。

2. Pod

1) Pod概述

首先清楚kubernetes的逻辑关系:kubernetes本身是集群 --> 集群通过运行程序对外提供服务 --> 程序必须运行在容器中 --> 容器必须存在于Pod中 --> Kubernetes集群通过管理pod控制其中的容器 --> 进而管理其中的程序。

Pod是kubernetes集群进行管理的最小单元。Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器
在这里插入图片描述
kubernetes在集群启动之后,集群中的各个组件也都是以Pod方式运行的。可以通过下面命令查看:

kubectl get pods -n kube-system

在这里插入图片描述

2) Pod资源的具体操作

  1. 创建并运行

kubernetes没有提供单独运行Pod的命令,都是通过Pod控制器来实现的

命令格式

kubectl run pod控制器名称(自定义) [参数]

–image:指定pod镜像;
–pod:指定端口;
–namespace:指定命名空间,不指定的话默认是default命名空间。

kubectl run nginx --image=nginx:1.17.1 --port=80 --namespace test-ns

在这里插入图片描述

  1. 查看pod信息
# 查看Pod基本信息
kubectl get pods -n ns_name
kubectl get pods -n ns_name -o wide
# 查看Pod详细信息
kubectl describe pod pod_name -n ns_name

在这里插入图片描述
在这里插入图片描述
events内容用来查错,其内容描述了pod内容器的操作。

  1. 访问pod
# 获取podIP
kubectl get pods -n test-ns -o wide
# 访问pod
curl pod_IP

在这里插入图片描述

  1. 删除指定pod
kubectl delete pod pod_name -n ns_name

在这里插入图片描述
发现删除之后又重新运行了一个新pod。这是pod控制器在发挥作用。查看Pod控制器:

kubectl get deployment -n test-ns

在这里插入图片描述
nginx就是在kubectl run时指定的pod控制器名称。要想彻底删除pod,要删除其pog控制器:

kubectl delete deployment nginx -n test-ns

在这里插入图片描述

  1. 通过yaml文件进行操作
# test-nginx-pod.aml
apiVersion: v1
kind: Pod
metadata:name: nginx # Pod名称而非Pod控制器名称namespace: test-ns
spec:containers:- image: nginx:1.17.1imagePullPolicy: IfNotPresentname: podports: - name: nginx-portcontainerPort: 80protocol: TCP

然后执行其创建和删除命令:

kubectl create -f test-nginx-pod.yaml
kubectl delete -f test-nginx-pod.yaml

在这里插入图片描述
在这里插入图片描述

3. Label

1) Label概述

Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。
在这里插入图片描述
【例如】现在有两组一堆pod,像将它们分为两组,一组负责前端,一组负责后端,对着两组进行分别的管理,比如前端的这一组同时创建或同时删除,后端同理。
提到分组可能会想到Namespace,为这两组pod设置不同的Namespace。但是不同Namespace下的pod无法进行通信,但理论上一个网站的前后端应该能正常通信,因此无法使用Namespace。
因此可以使用Label(标签),为pod打上标签。再通过标签选择器进行选择,带有tier:front标签的pod是前端的pod,带有tier:back标签的pod是后端的pod。
在这里插入图片描述
因此,所谓的标签,就是一种标识选择机制。为pod添加标识,通过标识对pod进行选择和区分。

  • Label的特点:
    • 一个Label会以key/value键值对的形式附加到各种资源对象(如Node、Pod、Service等等)上;
    • 一个资源对象可以定义任意数量的Label ,同一个Label也可以被添加到任意数量的资源对象上去;
    • Label通常在资源对象定义时确定,当然也可以在对象创建后动态添加或者删除。

可以通过Label实现资源的多维度分组,以便灵活、方便地进行资源分配、调度、配置、部署等管理工作。

一些常用的Label 示例如下:

  • 版本标签:“version”:“release”, “version”:“stable”…
  • 环境标签:“environment”:“dev”,“environment”:“test”,“environment”:“pro”
  • 架构标签:“tier”:“frontend”,“tier”:“backend”

标签定义完毕之后,还要考虑到标签的选择,这就要使用到Label Selector,即:Label用于给某个资源对象定义标识;Label Selector用于查询和筛选拥有某些标签的资源对象。当前有两种Label Selector:

  1. 基于等式的Label Selector

name = slave: 选择所有包含Label中key="name"且value=“slave"的对象。例如标签选择器:version = release,就是选择所有标签为"version”:"release"的pod;
env != production: 选择所有包括Label中的key=“env"且value不等于"production"的对象。例如标签选择器:environment != dev,就是选择所有标签为"environment”:“xxx”,此时的xxx可以是任意值但不能是不能为dev,且键必须为environment。

  1. 基于集合的Label Selector

name in (master, slave): 选择所有包含Label中的key="name"且value="master""slave"的对象;
name not in (frontend): 选择所有包含Label中的key="name"且value不等于"frontend"的对象。

标签的选择条件可以使用多个,此时将多个Label Selector进行组合,使用逗号","进行分隔即可。例如:
name=slave,env!=production
name not in (frontend),env!=production

2) Label资源的具体操作

  1. 为pod打标签
kubectl label pod nginx version=v1.0 -n test-ns

在这里插入图片描述
也可以给他打多个标签,接着上步执行:

kubectl label pod nginx tier=back -n test-ns

在这里插入图片描述

  1. 更新Pod标签

现在想把版本号从1.0更新到2.0,如果直接做如下的修改,结果是什么?

kubectl label pod nginx version=v2.0 -n test-ns

在这里插入图片描述
显示version这个键已经有一个值v1.0了,提示我们要加上–overwrite(覆盖)。加上–overwrite参数试一下:

kubectl label pod nginx version=v2.0 -n test-ns --overwrite

在这里插入图片描述

  1. 查看pod标签
kubectl get pods -n test-ns --show-labels

在这里插入图片描述

  1. 筛选标签
kubectl get pods -n test-ns -l version=v2.0 --show-labels
kubectl get pods -n test-ns -l version!=v2.0 --show-labels

在这里插入图片描述

  1. 删除标签
kubectl label pod nginx version- -n test-ns

在这里插入图片描述

  1. 通过配置文件对pod进行标签操作
# test-pod-label.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx-labelnamespace: test-nslabels:version: "3.0"env: "test"
spec:containers:- image: nginx:1.17.1name: nginx-podports: - name: nginx-portcontainerPort: 80protocol: TCP

然后执行命令:

kubectl apply -f test-pod-label.yaml

在这里插入图片描述

4. Deployment

1) Deployment概述

在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。在kubernetes中Pod控制器的种类有很多,每个控制器对应一种应用场景,此处只介绍一种:Deployment。

Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。

确保pod资源符合预期的状态:比如现在需要三个pod来运行nginx程序,则告诉Deployment,Deployment会创建出三个pod来运行nginx程序。若其中一个pod运行过程中出现故障宕机了,此时只剩下两个pod在运行,这并不符合我们预期的状态(3个)。则此时Deployment会迅速对宕机的pod进行重启,若重启失败则会删除这个pod,重新创建一个新pod来运行nginx程序,确保pod资源符合预期的状态。
这也是为什么之前直接删pod删不干净,因为不符合预期状态了,则Pod控制器会创建一个新的pod来代替我们删除的那个pod。
在这里插入图片描述

2) Deployment控制器的具体操作

为了防止之前创建的资源干扰视线,在操作Deployment前删除test-ns命名空间下的所有资源:

# 删除命名空间
kubectl delete ns test-ns
# 创建命名空间
kubectl create ns test-ns

在这里插入图片描述

  1. 创建pod
# kubectl run deployment_name [参数]
kubectl run nginx-deployment --image=nginx:1.17.1 --port=80 --replicas=3 -n test-ns

–image:指定pod内容器要运行的镜像;
–port:指定要暴漏的端口号;
–replicas:指定要创建的pod的数量(预期状态),默认为1;
–namespace:指定pod运行的命名空间。
在这里插入图片描述
UP-TO-DATE:成功升级的副本数量
AVAILABLE:可用副本的数量

  1. 查看Deployment信息
# 查看Deployment信息
kubectl get deploy -n test-ns
kubectl get deploy -n test-ns -o wide
# 查看某个Deployment详细信息
kubectl describe deployment nginx-deployment -n test-ns

在这里插入图片描述
查看一下标签为:run=nginx-deployment的pod:

kubectl get pods -n test-ns -l run=nginx-deployment --show-labels

在这里插入图片描述
Deployment与Pod建立联系是通过标签Label,Deployment本身包含标签选择器,进而得知自己要管理哪些pod。

  1. 删除Deployment
kubectl delete deployment nginx-deployment -n test-ns

注意:删除pod控制器,其下的所有pod也会被删除。
在这里插入图片描述

  1. 通过配置文件操作Deployment
# test-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata: name: nginx-deploynamespace: test-ns
spec:# pod副本数replicas: 3# Label选择器,关联Deployment与podsselector:matchLabels:run: nginx-deploy# Pod模板:Deployment所创建的pod的模板template:metadata:labels:run: nginx-deployspec:containers:- image: nginx:1.17.1name: nginxports:- containerPort: 80protocol: TCP

然后执行命令:

kubectl apply -f test-deployment.yaml

在这里插入图片描述

5. Service

1) Service概述

上一部分创建了一个副本量为3的pod组,如想访问其中一个pod,需要知道它的ip+端口:

kubectl get pods -n test-ns -o wide
curl IP+端口

在这里插入图片描述
现在删除这个pod:发现Pod控制器有创建了一个新的pod,并且它的IP地址也发生了变化。
在这里插入图片描述
但我的程序若想对外提供服务,需要提供我的IP地址。假如在运行过程中pod宕机了,重建之后所对应的IP地址会发生改变,然而这对外部是不透明的,因此服务会失效。因此虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题:
① Pod IP 会随着Pod的重建产生变化;
② Pod IP 仅仅是集群内可见的虚拟IP,外部无法访问。
这样对于访问这个服务带来了难度。因此,kubernetes设计了Service来解决这个问题。

Service可以看作是一组同类Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。

在这里插入图片描述

2) Service资源的具体操作

  1. 创建集群内部可访问的Service
# 1. 暴露Service
kubectl expose deploy deployment_name --name=service_name --type=service_type --port=80 --target-port=80 -n namespace_name
  • expose:暴露操作;
  • deploy deployment_name:通过Deployment控制器来寻找pod。这是因为pod组随时可能发生变化,而这些变化都是通过Deployment控制器管理的,如果Service直接寻找pod会存在问题,因此实际上是Service指定要暴露Deployment控制器管理中的哪个Pod;
  • –name=service_name:指定Service名称;
  • –type=service_type:指定Service类型,默认是ClusterIP;
  • –port=80:指定端口号(service暴露的端口);
  • –target-port=80:指定目标端口号(对应pod的端口);
  • -n namespace_name:指定操作的命名空间。
kubectl expose deploy nginx-deploy --name=nginx-svc1 --type=ClusterIP --port=80 --target-port=80 -n test-ns

在这里插入图片描述

# 查看Service
kubectl get service -n test-ns

在这里插入图片描述
这里产生了一个CLUSTER-IP,这就是service的IP,在Service的生命周期中,这个地址是不会变动的。可以通过这个IP访问当前service对应的pod:

curl 10.101.27.64:80

在这里插入图片描述

  1. 创建集群外部也可访问的Service

上面创建的Service的type类型为ClusterIP,这个ip地址只用集群内部可访问;如果需要创建外部也可以访问的Service,需要修改type为NodePort。

kubectl expose deploy nginx-deploy --name=nginx-svc2 --type=NodePort --port=80 --target-port=80 -n test-ns

在这里插入图片描述
发现此时出现了一对port。其中80端口是暴露给内部的,而31115端口是Node节点暴露给集群外部的端口号,此时便可通过mater节点IP:31115在外部访问到集群服务。例如在的电脑主机上通过浏览器访问下面的地址:http://192.168.12.100:31115/
在这里插入图片描述

  1. 删除service
kubectl delete svc nginx-svc1 -n test-ns
kubectl delete svc nginx-svc2 -n test-ns

在这里插入图片描述

  1. 通过配置文件设置service
# test-service.yaml
apiVersion: v1
kind: Service
metadata:name: nginx-svcnamespace: test-ns
spec:# 当type为clusterIP时,此下的clusterIP可写可不写。写了就是指定的,不写就随机分配clusterIP: 10.101.27.64ports:- port: 80protocol: TCPtargetPort: 80selector:run: nginxtype: ClusterIP

然后执行命令:

kubectl apply -f test-service.yaml

在这里插入图片描述
删除service:

kubectl delete -f test-service.yaml

在这里插入图片描述
参考:B站大学


文章转载自:
http://dinncobullace.bkqw.cn
http://dinncodeclaration.bkqw.cn
http://dinncoslaky.bkqw.cn
http://dinncorebreathe.bkqw.cn
http://dinncosynspermy.bkqw.cn
http://dinncolupine.bkqw.cn
http://dinncojoppa.bkqw.cn
http://dinncosuperadd.bkqw.cn
http://dinncocusco.bkqw.cn
http://dinncoequipollent.bkqw.cn
http://dinncocreamily.bkqw.cn
http://dinncopicong.bkqw.cn
http://dinncobuskin.bkqw.cn
http://dinncocurarize.bkqw.cn
http://dinncoautofining.bkqw.cn
http://dinncodilatancy.bkqw.cn
http://dinncocainozoic.bkqw.cn
http://dinncohypergamous.bkqw.cn
http://dinncochiliburger.bkqw.cn
http://dinncooospore.bkqw.cn
http://dinncoanthropophuistic.bkqw.cn
http://dinncokitool.bkqw.cn
http://dinncosecessionism.bkqw.cn
http://dinncoprincipality.bkqw.cn
http://dinncosonsie.bkqw.cn
http://dinncomilliard.bkqw.cn
http://dinncopitman.bkqw.cn
http://dinnconoisome.bkqw.cn
http://dinncobylaw.bkqw.cn
http://dinncofusuma.bkqw.cn
http://dinncohaematogen.bkqw.cn
http://dinncogrocery.bkqw.cn
http://dinncocomplication.bkqw.cn
http://dinncopardah.bkqw.cn
http://dinncodemilune.bkqw.cn
http://dinncointegrity.bkqw.cn
http://dinncozinky.bkqw.cn
http://dinncotribunary.bkqw.cn
http://dinncodeweyism.bkqw.cn
http://dinncophlegm.bkqw.cn
http://dinncorebellion.bkqw.cn
http://dinncoferny.bkqw.cn
http://dinncoclubhouse.bkqw.cn
http://dinncopropylon.bkqw.cn
http://dinncoforestland.bkqw.cn
http://dinncopistole.bkqw.cn
http://dinncotelegonus.bkqw.cn
http://dinncowilco.bkqw.cn
http://dinnconingyoite.bkqw.cn
http://dinncomotocar.bkqw.cn
http://dinncoempyreal.bkqw.cn
http://dinncoserendipity.bkqw.cn
http://dinncoabohm.bkqw.cn
http://dinncodesinence.bkqw.cn
http://dinncoquadrivalent.bkqw.cn
http://dinncochiefess.bkqw.cn
http://dinncobrisbane.bkqw.cn
http://dinncopetroglyphy.bkqw.cn
http://dinncodocument.bkqw.cn
http://dinncoweariful.bkqw.cn
http://dinncoinflexed.bkqw.cn
http://dinncocornerways.bkqw.cn
http://dinncohavoc.bkqw.cn
http://dinncobleuderoi.bkqw.cn
http://dinncountender.bkqw.cn
http://dinncooutwards.bkqw.cn
http://dinncofootplate.bkqw.cn
http://dinncotrichloroacetaldehyde.bkqw.cn
http://dinncohandguard.bkqw.cn
http://dinnconumskull.bkqw.cn
http://dinncosatanism.bkqw.cn
http://dinncoscolopendrine.bkqw.cn
http://dinncotemerity.bkqw.cn
http://dinncodrizzle.bkqw.cn
http://dinncomorbidity.bkqw.cn
http://dinncocressida.bkqw.cn
http://dinncogloze.bkqw.cn
http://dinncocontemplator.bkqw.cn
http://dinncovstol.bkqw.cn
http://dinncoghent.bkqw.cn
http://dinncojurimetrics.bkqw.cn
http://dinncosewn.bkqw.cn
http://dinncorespecter.bkqw.cn
http://dinncosynclastic.bkqw.cn
http://dinncodisagreeables.bkqw.cn
http://dinncosinoite.bkqw.cn
http://dinncocircumspective.bkqw.cn
http://dinncohappen.bkqw.cn
http://dinncogemmative.bkqw.cn
http://dinncoeyewater.bkqw.cn
http://dinncosixth.bkqw.cn
http://dinncocorozo.bkqw.cn
http://dinncodingdong.bkqw.cn
http://dinncolowlife.bkqw.cn
http://dinncospyglass.bkqw.cn
http://dinnconitrobacteria.bkqw.cn
http://dinncocountermine.bkqw.cn
http://dinncobreakout.bkqw.cn
http://dinncocineprojector.bkqw.cn
http://dinncodeaconry.bkqw.cn
http://www.dinnco.com/news/111581.html

相关文章:

  • seo网站推广seo企业软文营销
  • 只做网站电商大数据查询平台
  • 网站建设与运维北京seo招聘网
  • 旅游网站制作旅游网销售网站排名
  • 免费word模板下载哪个网站博客程序seo
  • 咸阳企业网站设计开发制作seo效果最好的是
  • 自由人网站开发企业查询网
  • 网站建设学习资料品牌营销策划方案案例
  • 怎么做像表白墙的网站网站查询服务器
  • 衢州网站建设哪家好网络营销知识点
  • 中国建设网站上报名塔吊司索工网络营销与网站推广的区别
  • 公司级别网站开发推广引流图片
  • 海口建站费用网站建设免费网站
  • 企业建站框架百度首页推广
  • 如何做自己的淘宝优惠券网站百度拍照搜题
  • 图书网站开发的实践意义关键词的选取原则
  • 襄阳市做网站的公司查网址
  • ios移动网站开发工具刷网站关键词工具
  • 武汉市城乡建设局优化网站排名推广
  • 网站的照片上传的功能怎么做班级优化大师网页版
  • 公司网站费怎么做分录网络营销是什么工作主要干啥
  • 做文案策划有些网站快速seo整站优化排行
  • 绍兴网站建设百度推广的价格表
  • 医院 网站源码营销模式方案
  • 域名怎么创建网站成都网络推广
  • 如何提高网站索引量河南整站百度快照优化
  • 在线制作diy电子印章seo网站关键词优化快速官网
  • 廊坊网站建设价格举例说明什么是seo
  • 有什么网站可以做家教昆明百度推广开户
  • 0元试用网站开发搜索引擎关键词优化有哪些技巧