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

做博客的网站wordpress 文章 id

做博客的网站,wordpress 文章 id,wordpress icon class,如何建个网站1、namespace 名称空间用来对集群资源进行隔离划分#xff0c;默认只隔离资源#xff0c;不隔离网络k8s默认的名称空间为default 查看k8s的所有命名空间 kubectl get namespace 或者 kubectl get ns 创建名称空间 kubectl create ns 名称 或使用yaml方式 编写yamlkub… 1、namespace 名称空间用来对集群资源进行隔离划分默认只隔离资源不隔离网络k8s默认的名称空间为default 查看k8s的所有命名空间 kubectl get namespace 或者 kubectl get ns 创建名称空间 kubectl create ns 名称 或使用yaml方式 编写yamlkubectl apply -f yaml文件 appVersion: v1 kind: Namespace metedata:name: hello appVersion表示版本号kind表示种类说明是名称空间若是pod就是pod类型metedata.name表示名称为hello的名称空间 删除yaml方式创建的名称空间需要这样删除 #可以yaml文件和yaml文件执行的结果这里是删除名称空间 kubectl delete -f yaml文件 删除名称空间 kubectl delete ns 名称 注意以下命令 kubectl get pods -A -AAll表示所有的名称空间这条命令表示获取所有名称空间下的所有pod kubectl get pods 没有指定名称空间那么默认为default空间 kubectl get pods -n kubernetes-dashboard -n-namespace用于指定名称空间这条命令表示获取kubernetes-dashboard空间下的所有pod 2、Pod 运行中的一组容器Pod是kubernetes中应用的最小单位一个Pod可以有一个或多个容器 2.1、命令行创建Pod kubectl run mynginx --imagenginx 没有指定namespace默认在default下创建的PodmynginxPod的名称--imagenginx使用nginx镜像去构建该Podnginx由于没有指定镜像版本默认使用最新的 删除Pod kubectl delete pod mynginx 2.2、查看Pod的创建信息 kubectl describe pod pod的名称 会打印Pod的构建信息如Pod的构建event事件 2.3、yaml创建Pod 创建一个pod.yaml文件名任意命名复制一下内容 不知道namespace默认在default下 apiVersion: v1 kind: Pod metadata:labels:run: mynginxname: mynginx # namespace: default spec:containers:- image: nginxname: mynginx 应用yaml kubectl apply -f pod.yaml 查看构建信息 kubectl describe pod mynginx 删除配置文件创建的pod kubectl delete -f pod.yaml 2.4、使用可视化dashboard创建pod 把2.3中的代码复制进行 之后k8s在创建pod 2.5、查看pod日志 类似于docker查看容器日志 kubectl logs pod名字 上述默认是查看default名称空间下的pod 指定名称空间获取pod日志 kubectl logs pod名字 -n namespace名字 2.6、日志阻塞式追踪实时更新日志 -n namespace名字缺省则表示查询的是default名称空间 kubectl logs pod名字 -n namespace名字 2.7、获取pod更完善信息 kubectl get pod -o wide -o wide可以写成 -owide上述默认查询的是default名称空间可以使用kubectl get pod -o wide -A获取所有pod 2.8、进入pod kubectl exec -it pod名字 -- /bin/bash 2.9、pod中运行多个容器 多个容器间端口存在冲突时只会启动第一个容器后面的容器会报端口冲突错误一个pod间的网络、存储空间是共享的容器间可以通过127.0.0.1进行访问 apiVersion: v1 kind: Pod metadata:labels:run: myappname: myapp # namespace: default spec:containers:- image: nginxname: mynginx- image: tomcat8.5.68name: mytomcat3、Deployment 部署控制pod使pod用于多副本、自愈、扩缩容等能力 3.1、创建deployment 语法 kubectl create deployment deployment的名字 --image镜像名称 eg kubectl create deployment mytomcat --imagetomcat:8.5.68 3.2、删除deployment 语法 kubectl delete deployment deployment的名字 eg kubectl delete deployment mytomcat 与删除pod的区别 deployment创建的pod可以用pod的删除语句去删除这个pod但是k8s会自动创建下一个pod只有使用删除deployment语句才能彻底删除deployment创建的pod 3.3、多副本 语法 kubectl create deployment deployment的名字 --image镜像名称 --replicaspod的数量 eg kubectl create deployment mytomcat --imagetomcat:8.5.68 --replicas3 如下图创建了3个pod  yaml文件配置方式 apiVersion: apps/v1 kind: Deployment metadata:labels:app: mytomcatname: mytomcat spec:replicas: 3selector:matchLabels:app: mytomcattemplate:metadata:labels:app: mytomcatspec:containers:- image: tomcatname: tomcat 3.4、扩缩容 其实就是改变deployment下的pod数量当我们pod在运行期间只有3个需要增加pod数量去支持访问量时这个就称为扩容需要减少pod数量去支持访问量时这个就称为缩容 语法 kubectl scale deployment/deployment的名字 --replicaspod的数量 eg: kubectl deployment/mytomcat scale --replicas5 3.5、自愈与故障转移 自愈deployment下的pod出现问题k8s会对该pod自动进行重启修复 故障转移当一个pod所在的节点宕机后k8s会把宕机的pod自动拉到其他的node进行运行 3.7、滚动更新 假设deployment下有3个pod这3个pod为同一个镜像应用当该镜像更新时需要对k8s的pod进行更新而滚动更新的作用就是 能保证镜像更新后pod能平滑更新到下一个版本 更新步骤 k8s接收到滚动更新指令启动1个新版本的镜像pod当该pod启动完成后k8s会杀掉3个镜像中的一个pod然后再启动1个新podpod启动完成后再杀掉1个旧pod以此类推直到新pod全部上线旧pod全部下线滚动更新完成 滚动更新只需要一个指令即可执行上述步骤 语法 --record表示记录下这次更新 kubectl set image deployment/deployment的名字 原镜像新镜像 --record eg kubectl set image deployment/mytomcat tomcattomcat --record 3.8、命令修改deployment配置 kubectl edit deployment mytomcat #mytomcat为deployment的名字 3.9、版本回退 k8s支持deployment版本回退且回退是滚动更新的过程 回退流程 1查看deployment的版本列表 格式 kubectl rollout history deployment/deployment的名字 eg: kubectl rollout history deployment/mytomcat CHANGE-CAUSE类似于GIT每次提交的message只是k8s可以不写none在变更deployment的时使用 --record来保存记录参考3.7 2检查当前deployment使用的镜像版本 kubectl get deployment mytomcat -oyaml 或者 kubectl get deployment mytomcat -oyaml | grep tomcat tomcat的镜像为tomcat最新版镜像 3查看某个版本的yaml详情 kubectl rollout history deployment/mytomcat --revision1 --revision历史版本的编号 或者直接查看镜像 kubectl rollout history deployment/mytomcat --revision1 | grep image 4版本回退 #回退到上次版本 kubectl rollout undo deployment/mytomcat #回退到指定版本 kubectl rollout undo deployment/mytomcat --to-revision1 3.10、工作负载 除了Deploymentk8s还有 StatefulSet 、DaemonSet 、Job  等 类型资源。我们都称为 工作负载。有状态应用使用  StatefulSet  部署无状态应用使用 Deployment 部署 官方文档https://kubernetes.io/zh/docs/concepts/workloads/controllers/ 4、Service 服务将一组 Pods 公开为网络服务的抽象方法。Pod的服务发现与负载均衡服务发现指的是能感知同一组pod的上线下线变更与注册中心一样该暴露出来的IP或域名只能集群内部访问不能外部访问Service的默认域名为服务名.所在名称空间.svc如mytomcat.default.svc 不使用service时存在的问题 当一个项目需要启动多个pod每个pod的IP是不同的假设我们通过某一个pod的IP去访问项目若该pod宕机后我们需要手动切换pod的IP虽然可以使用nginx的负载均衡去实现切换但是无状态pod的IP是会改变的除非每次去变更nginx的配置当一个项目存在多个pod时我们只能去连接某一个pod并不能把所有的pod的资源使用起来 Service解决的问题 把相同标签的一组pod暴露成一个统一访问的服务我们只需要访问service即可访问标签中的所有pod负载均衡的方式 4.1、暴露Service命令 kubectl expose deploy deployment的名字 --port指定暴露的端口 --target-portpod中需要暴露的端口 --port指定暴露的端口外部访问时的端口--target-portpod中需要暴露的端口一般为pod中应用的端口 eg把mytomcat的deployment中pod的8080端口暴露给service服务8000端口 kubectl expose deploy mytomcat --port8000 --target-port8080 4.2、获取k8s下的service列表 kubectl get svc -A 或者 kubectl get svc 4.3、yaml方式生成Service apiVersion: v1 kind: Service metadata:labels:app:mytomcatname: mytomcat spec:selector:app: mytomcat #pod的标签ports:- port: 8000protocol: TCPtargetPort: 8080 selector.apppod的标签label用于给pod分类的pod的标签若不指定一般默认为deployment的名字 4.4、获取pod的标签 kubectl get pod --show-labels 4.5、Service暴露方式 默认方式clusterIP 集群IP访问 kubectl expose deployment mytomcat --port8000 --target-port8080 等同于 kubectl expose deployment mytomcat --port8000 --target-port8080 --typeClusterIP yaml方式 apiVersion: v1 kind: Service metadata:labels:app: mytomcatname: mytomcat spec:ports:- port: 8000protocol: TCPtargetPort: 8080selector:app: mytomcattype: ClusterIP #NodePort集群外访问 NodePort暴露方式 kubectl expose deployment mytomcat --port8000 --target-port8080 --typeNodePort k8s会自动生成一个提供外部访问的端口 NodePort范围在 30000-32767 之间 访问方式集群任意node节点端口即可访问Service 如http://111.230.19.178:31634/ 5、上述网络访问总结 1、节点与节点直接是否能正常通信的判断缘由 kubectl get node -owide node节点加入k8s是外网IP证明节点间的通信是没有问题的就是确保node节点以外网的方式接入的  2、pod的IP访问范围 一般除了搭建k8s时生成的pod使用机器外网IP或master节点的IP外其余在k8s集群搭建好的基础上生成的pod会使用master初始化时pod-network-cidr的网络范围需要确保calico的网段与之一致pod-network-cidr的网络范围指的是k8s给pod分配的IP地址的范围这个IP只能集群内部访问这里的集群内部是指K8S内pod互相访问而不是k8s节点进行访问节点访问pod的IP不属于集群内的访问 3、Service暴露方式访问的范围 以clusterIP暴露方式的访问范围指的是集群内的访问不是k8s节点进行访问 kubectl expose deployment mytomcat --port8000 --target-port8080 以NodePort暴露方式的访问范围 kubectl expose deploy mynginx --port8000 --target-port80 --typeNodePort 因为calico问题我现在只能在mynginx的工作节点才能访问上述service的IP 如下在我的k8s-node1中访问 浏览器使用k8s-node1的IP家31522端口
http://www.sadfv.cn/news/418522/

相关文章:

  • 南通营销网站建设社交博客网站开发
  • 简洁网站设计创建公众号的步骤
  • 网站页面建议杭州人防质监站网址
  • 扁平化购物网站设计手表官方网站
  • 做一个自己的免费网站怎样在手机上做动漫视频网站
  • 如何在虚拟空间上做多个网站网站开发需要申请专利吗
  • 周口微网站制作怎么自己制作软件app
  • 建设电子商务网站的试卷视频素材网站建设
  • 湖南厦门网站优化做网站每年运营要花掉多少钱
  • 电影网站建设需要什么软件wordpress注册邮件设置
  • 网站开发流程需要用到的语言庄浪县门户网
  • 网站建设工程师面试工厂弄个网站做外贸如何处理
  • 中山企业做网站asp网站的安全性
  • dede网站重新安装贵阳企业自助建站
  • 深圳网站建设服务哪家好加强机关门户网站建设
  • 两个域名同时指向一个网站仿礼物说网站模板
  • 佛山网站开发招聘个人网站做短视频
  • 做投票网站教程外包和劳务派遣哪个好
  • 可以做分销的网站怎么样在网站上做跳转
  • wdcp 网站备份wordpress安装没有选择语言
  • 设计师在线网站合肥软件开发公司哪家好
  • 莆田市荔城区建设局网站西安企业管理咨询有限公司
  • 企业网站策划书范文3000字常州网官网
  • 单位网站建设规划政务网站建设总结
  • 国家住房建设部网站百度账号注销
  • 深圳企业网站建设设计公司h5游戏辅助工具
  • 兰州网站建设博客企业网站开发的设计流程
  • 百度网站建设是什么淘宝做网站 评价话语
  • 最新新闻热点国家大事湖南网站seo公司
  • 山东建设企业网站做商城网站的项目背景图片