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

莆田外贸网站建设ci策划 网站开发

莆田外贸网站建设,ci策划 网站开发,飞沐网站建设,wordpress主题 时光组件详细介绍 NameSpace 在 Kubernetes 中#xff0c;名字空间#xff08;Namespace#xff09; 提供一种机制#xff0c;将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一#xff0c;但跨名字空间时没有这个要求。 名字空间作用域仅针对带有名字…组件详细介绍 NameSpace 在 Kubernetes 中名字空间Namespace 提供一种机制将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一但跨名字空间时没有这个要求。 名字空间作用域仅针对带有名字空间的对象例如 Deployment、Service 等 这种作用域对集群访问的对象不适用例如 StorageClass、Node、PersistentVolume 等 kubectl get namespace NAME STATUS AGE default Active 1d # Kubernetes 包含这个名字空间以便于你无需创建新的名字空间即可开始使用新集群。 kube-node-lease Active 1d # 该名字空间包含用于与各个节点关联的 Lease租约对象。 节点租约允许 kubelet 发送心跳 由此控制面能够检测到节点故障 kube-public Active 1d # 所有的客户端包括未经身份验证的客户端都可以读取该名字空间。 该名字空间主要预留为集群使 用以便某些资源需要在整个集群中可见可读。 该名字空间的公共属性只是一种约定而非要求。 kube-system Active 1d # 该名字空间用于 Kubernetes 系统创建的对象。集群组件controller scheduler service操作 namespace 缩写为 ns # 列出集群中的所有名字空间。 kubectl get namespaces# 通过下列命令获取特定名字空间的摘要 kubectl get namespaces name# 下面的命令获取详细信息 kubectl describe namespaces name# 根据配置文件创建/删除命令空间 kubectl create/delete -f ./my-namespace.yaml# 直接创建 kubectl create namespace insert-namespace-name-here# 删除名字空间使用命令会删除名字空间下的 所有内容 kubectl delete namespaces/ns insert-some-namespace-name# my-namespace.yaml apiVersion: v1 kind: NameSpace meatdata:name: devPod Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。 Pod就像在鲸鱼荚或者豌豆荚中是一组一个或多个 容器 这些容器共享存储、网络、以及怎样运行这些容器的声明。 Pod 中的内容总是并置colocated的并且一同调度在共享的上下文中运行。 Pod 所建模的是特定于应用的 “逻辑主机”其中包含一个或多个应用容器 这些容器相对紧密地耦合在一起。 在非云环境中在相同的物理机或虚拟机上运行的应用类似于在同一逻辑主机上运行的云应用。 除了应用容器Pod 还可以包含在 Pod 启动期间运行的 Init 容器。 你也可以在集群支持临时性容器的情况下 为调试的目的注入临时性容器。 Pod 的共享上下文包括一组 Linux 名字空间、控制组cgroup和可能一些其他的隔离方面 即用来隔离容器的技术。 在 Pod 的上下文中每个独立的应用可能会进一步实施隔离。 Pod 类似于共享名字空间并共享文件系统卷的一组容器 操作 Pod 通常不是直接创建的而是使用工作负载资源(Pod控制器)创建的。 重启 Pod 中的容器不应与重启 Pod 混淆。 Pod 不是进程而是容器运行的环境。 在被删除之前Pod 会一直存在。 # 命令式对象管理创建 # --image 镜像 # --port 端口 # --namespace 命名空间 kubectl run nginxpod --imagenginx:1.17.1 --port80 --namspace dev# 访问Pod 访问其中运行的容器 获取ip地址和端口 kubectl get pod pod-name -n dev - wide curl pod_ip:port# 删除 注意执行此命令时当删除当前podpod控制器会立即新建一个pod 需要删除pod控制器 kubectl delete pod pod-name -n dev # 查看pod控制器 kubectl get deploy -n dev # 删除pod控制器 kubectl delete deploy pod-contrlloer-name -n dev# 配置文件操作 命令式对象配置 此种方式不存在pod控制器 # 创建一个pod-nginx.yaml apiVersion: v1 kind: Pod metadata:name: nginxnamespace: dev spec:containers:# 横杠为数组配置- name: nginximage: nginx:1.14.2ports:- containerPort: 80# 创建和删除 kubectl create -f pod-nginx.yaml kubectl delete -f pod-nginx.yamlLabel 标签Labels 是附加到 Kubernetes 对象比如 Pod上的键值对。 标签旨在用于指定对用户有意义且相关的对象的标识属性但不直接对核心系统有语义含义。 标签可以用于组织和选择对象的子集。标签可以在创建时附加到对象随后可以随时添加和修改。 每个对象都可以定义一组键/值标签。每个键对于给定对象必须是唯一的。 场景不同的namespace之间无法通信如果在k8s系统中部署一个网站网站的前端和后端是需要通信的就可以使用labels来给前端和后端应用分别打上不同的标签之后在使用标签选择器来选择不同的pod 标签选择器 label用于给某个资源对象定义标识 label Selector 用于查询和筛选拥有某些标签的资源对象 基于等值的标签选择器 基于等值或基于不等值的需求允许按标签键和值进行过滤。 匹配对象必须满足所有指定的标签约束尽管它们也可能具有其他标签。 可接受的运算符有 、 和 ! 三种。 前两个表示相等并且是同义词而后者表示不相等。例如 environment production tier ! frontend前者选择所有资源其键名等于 environment值等于 production。 后者选择所有资源其键名等于 tier值不同于 frontend所有资源都没有带有 tier 键的标签。 可以使用逗号运算符来过滤 production 环境中的非 frontend 层资源environmentproduction,tier!frontend。 基于等值的标签要求的一种使用场景是 Pod 要指定节点选择标准。 例如下面的示例 Pod 选择带有标签 “acceleratornvidia-tesla-p100”。 apiVersion: v1 kind: Pod metadata:name: cuda-test spec:containers:- name: cuda-testimage: registry.k8s.io/cuda-vector-add:v0.1resources:limits:nvidia.com/gpu: 1nodeSelector:accelerator: nvidia-tesla-p100基于集合的标签选择器 基于集合的标签需求允许你通过一组值来过滤键。 支持三种操作符in、notin 和 exists只可以用在键标识符上。例如 environment in (production, qa) tier notin (frontend, backend) partition !partition第一个示例选择了所有键等于 environment 并且值等于 production 或者 qa 的资源。第二个示例选择了所有键等于 tier 并且值不等于 frontend 或者 backend 的资源以及所有没有 tier 键标签的资源。第三个示例选择了所有包含了有 partition 标签的资源没有校验它的值。第四个示例选择了所有没有 partition 标签的资源没有校验它的值。 类似地逗号分隔符充当与运算符。因此使用 partition 键无论为何值和 environment 不同于 qa 来过滤资源可以使用 partition, environment notin (qa) 来实现。 基于集合的标签选择算符是相等标签选择算符的一般形式因为 environmentproduction 等同于 environment in (production)! 和 notin 也是类似的。 基于集合的要求可以与基于相等的要求混合使用。例如partition in (customerA, customerB),environment!qa 操作 给pod添加标签 # 添加label kubectl label pod nginx-pod vesion1.0 -n dev# 更新label kubectl label pod nginx-pod version2.0 -n dev --overwrite# 查看label kubectl label pod nginx-pod -n dev --show-labels# 筛选label kubectl get pod -n dev -l version2.0 --show-labels kubectl get pod -n dev -l version!2.0 --show-labels# 删除label kubectl label pod nginx-pod -n dev version-给节点添加标签 # 列出集群中的节点 包括这些节点上的标签 kubectl get nodes --show-labels# 从节点中选择一个为它添加标签 kubectl label nodes your-node-name disktypessd# 验证选择的节点确实带有 disktypessd 标签 kubectl get nodes --show-labelsDeployment 一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力。 负责描述 Deployment 中的 目标状态而 Deployment 控制器Controller 以受控速率更改实际状态 使其变为期望状态。你可以定义 Deployment 以创建新的 ReplicaSet或删除现有 Deployment 并通过新的 Deployment 收养其资源。 用于pod的管理确保pod资源符合预期的状态当pod资源出现故障时尝试进行重启或者重建pod 操作 命令式对象管理 # 命令格式: kubectl create deployment 名称 [参数] # --image 指定pod的镜像 # --port 指定端口 # --replicas 指定创建pod数量 # --namespace 指定namespace [rootmaster ~]# kubectl run nginx --imagenginx:latest --port80 --replicas3 -n dev deployment.apps/nginx created# 查看创建的Pod [rootmaster ~]# kubectl get pods -n dev NAME READY STATUS RESTARTS AGE nginx-5ff7956ff6-6k8cb 1/1 Running 0 19s nginx-5ff7956ff6-jxfjt 1/1 Running 0 19s nginx-5ff7956ff6-v6jqw 1/1 Running 0 19s# 查看deployment的信息 [rootmaster ~]# kubectl get deploy -n dev NAME READY UP-TO-DATE AVAILABLE AGE nginx 3/3 3 3 2m42s# UP-TO-DATE成功升级的副本数量 # AVAILABLE可用副本的数量 [rootmaster ~]# kubectl get deploy -n dev -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR nginx 3/3 3 3 2m51s nginx nginx:latest runnginx# 查看deployment的详细信息 [rootmaster ~]# kubectl describe deploy nginx -n dev# 删除 [rootmaster ~]# kubectl delete deploy nginx -n dev deployment.apps nginx deleted命令式对象配置 创建一个deploy-nginx.yaml内容如下 apiVersion: apps/v1 kind: Deployment metadata:name: nginxnamespace: dev spec:# 副本数量 3replicas: 3selector:# 选择器matchLabels:run: nginx# pod模板template:metadata:# 标签labels:run: nginxspec:containers:- image: nginx:latestname: nginxports:- containerPort: 80protocol: TCP然后就可以执行对应的创建和删除命令了 创建kubectl create -f deploy-nginx.yaml 删除kubectl delete -f deploy-nginx.yaml service 通过上节课的学习已经能够利用Deployment来创建一组Pod来提供具有高可用性的服务。 虽然每个Pod都会分配一个单独的Pod IP然而却存在如下两问题 Pod IP 会随着Pod的重建产生变化Pod IP 仅仅是集群内可见的虚拟IP外部无法访问 这样对于访问这个服务带来了难度。因此kubernetes设计了Service来解决这个问题。 Service可以看作是一组同类Pod对外的访问接口。借助Service应用可以方便地实现服务发现和负载均衡。 操作 创建集群内部可访问的service # 暴露Service [rootmaster ~]# kubectl expose deploy nginx --namesvc-nginx1 --typeClusterIP --port80 --target-port80 -n dev service/svc-nginx1 exposed# 查看service [rootmaster ~]# kubectl get svc svc-nginx1 -n dev -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR svc-nginx1 ClusterIP 10.109.179.231 none 80/TCP 3m51s runnginx# 这里产生了一个CLUSTER-IP这就是service的IP在Service的生命周期中这个地址是不会变动的 # 可以通过这个IP访问当前service对应的POD [rootmaster ~]# curl 10.109.179.231:80创建集群外部可访问的service # 上面创建的Service的type类型为ClusterIP这个ip地址只用集群内部可访问 # 如果需要创建外部也可以访问的Service需要修改type为NodePort [rootmaster ~]# kubectl expose deploy nginx --namesvc-nginx2 --typeNodePort --port80 --target-port80 -n dev service/svc-nginx2 exposed# 此时查看会发现出现了NodePort类型的Service而且有一对Port80:31928/TC [rootmaster ~]# kubectl get svc svc-nginx2 -n dev -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR svc-nginx2 NodePort 10.100.94.0 none 80:31928/TCP 9s runnginx# 接下来就可以通过集群外的主机访问 节点IP:31928访问服务了 # 例如在的电脑主机上通过浏览器访问下面的地址 http://192.168.90.100:31928/删除Service [rootmaster ~]# kubectl delete svc svc-nginx-1 -n dev service svc-nginx-1 deleted配置方式 # 创建一个svc-nginx.yaml内容如下 apiVersion: v1 kind: Service metadata:name: svc-nginxnamespace: dev spec:clusterIP: 10.109.179.231 #固定svc的内网ipports:- port: 80protocol: TCPtargetPort: 80selector:run: nginxtype: ClusterIP然后就可以执行对应的创建和删除命令了 创建kubectl create -f svc-nginx.yaml 删除kubectl delete -f svc-nginx.yaml
http://www.hkea.cn/news/14466316/

相关文章:

  • html网站要怎么做wordpress 目录排序
  • 网站建设 更新 维护网上注册公司需要多长时间
  • 酒类网站建设方案长治软件制作平台
  • 怎么做一个网站的logo设计图山西省城乡住房和建设厅网站首页
  • 做网站架构莞城网站建设公司
  • 母婴网站建设方案企业网站系统有哪些
  • 关于网站开发的请示个人养老保险可以补交吗
  • 深圳住建厅官方网站电脑优化大师官方免费下载
  • 财经直播的网站开发一个多少钱手机网站建设基本流程
  • 建立网站和小程序需要多少钱做商业地产常用的网站
  • 企业营销网站模板免费下载广东朝阳企讯通科技有限公司
  • 石家庄常规网站建设私人定做推广平台有哪些app
  • 楚雄市住房和城乡建设局门户网站怎么做二次元网站源码
  • cms做的网站胡源代码东莞广告设计公司排名
  • 新干网站新干今年有哪些重大建设网站建设优化服务策划
  • 泰安中商网络做的网站怎么进入住房和城乡建设部官方网站办事大厅
  • 深圳网站建设有限公司怎样加入好大夫网站做医生
  • 乡村振兴网站建设鹤壁集团网站建设
  • 网站怎么做黑链接有什么有趣的网站
  • 南坪网站建设南昌网站建设那家好
  • 重庆设计公司网站公司名字大全洋气
  • 网站开发就业怎么样sem运营是什么意思
  • 社交型网站首页面设计分析网站盈利模式设计
  • 青岛开发区网站建设多少钱海口建站模板
  • wordpress做小说站如何注册电商平台
  • pc28网站开发苏州网站定制公司
  • 崇左北京网站建设广告设计学的是什么
  • 怎么做网站才能被收购百度浏览器网站入口
  • 多个网站对比表格怎么做营销型企业网站分析与诊断
  • 上海营销型网站建设需要推销自己做网站的公司