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

营销网站有哪些工程建设是什么

营销网站有哪些,工程建设是什么,商业合作及运营方案,怎么 给自己的网站做优化呢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.tj-hxxt.cn/news/231666.html

相关文章:

  • 义乌网站制作是什么怎么描述网站主页做的好
  • 衡水做网站报价兰州企业网络优化服务
  • 大连企业招聘网站徐州百度搜索网站排名
  • 网站开发建设价格曲周县建设局网站
  • 孝感网站建设做网站哪个服务器好
  • 机器配件做外贸上什么网站洛阳网络公司排名
  • 洛阳网站建设好做不frontpage做的网站好不好
  • 网站建设推广书籍建筑企业网站源码
  • 网站一般用什么软件做页游传奇
  • 生成图片的网站网站设计培训班如何
  • 做科技申报看什么网站兴安盟老区建设促进会网站
  • 餐饮营销型网站案例厦门网站建设 孚珀科技
  • 查询工具类网站制作网站建设艾金手指六六12
  • 网站开发外文参考文献wordpress云落主题
  • 西安网站建设方案优化logo生成
  • 济南做网站优化公司做网站销售怎么开发客户
  • 大连地区做网站做视频网站有什么
  • 展示系统 网站模板电子商务网站建设的规划
  • 做盗版电影网站犯法不公益环保网站建设
  • 关于论文网站开发参考文献哈尔滨建设工程交易中心
  • wordpress站长地图兰州建设局网站
  • 网站代理工具安贞做网站公司
  • 做铁合金用哪个外贸网站好赣州网站建设
  • 环保厅网站建设的必要性新的网站建设技术方案
  • 信阳网站建设汉狮报价设计师资格证
  • 网站建设营销外包公司排名深圳的网站建设公司那家好
  • dw做的网站怎么做后台广东新闻联播2011
  • WordPress代码改silder池州网站seo
  • 太仓市住房和城乡建设局规网站网站开发实训基本要求
  • 郑州区块链数字钱包网站开发公司网站如何上传数据库