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

网站如何投放广告国外免费推广网站有哪些

网站如何投放广告,国外免费推广网站有哪些,wordpress局部修改,国家知识产权局电话号码目录前言安装如果镜像拉不下来方案一:代理方案二:更改镜像源配置nerdctl和buildkitd部署Jar配置文件k3s配置Dockerfile打包镜像运行apply deployment 和 service初步验证滚动发布验证总结参考前言 之前有写过利用k8s实现滚动发布,关于滚动发布的介绍请参…

目录

  • 前言
  • 安装
    • 如果镜像拉不下来
      • 方案一:代理
      • 方案二:更改镜像源
  • 配置nerdctl和buildkitd
  • 部署Jar
    • 配置文件
      • k3s配置
      • Dockerfile
    • 打包镜像
    • 运行apply deployment 和 service
    • 初步验证
    • 滚动发布验证
  • 总结
  • 参考

前言

  • 之前有写过利用k8s实现滚动发布,关于滚动发布的介绍请参考拙作kubernetes(k8s)滚动发布,不宕机实战。之前是使用k8s + docker,本文使用轻量级的 Kubernetes发行版K3S,容器运行时工具使用 containerd。

安装

  • 文档地址:https://docs.k3s.io/zh/quick-start

在这里插入图片描述

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

如果镜像拉不下来

  • 注意:安装后可能拉不下来镜像,两个方案。

方案一:代理

  • 官方文档: https://docs.k3s.io/zh/advanced

  • vim /etc/systemd/system/k3s.service.env

HTTP_PROXY=http://your-proxy.example.com:8888
HTTPS_PROXY=http://your-proxy.example.com:8888
NO_PROXY=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16

方案二:更改镜像源

  • 官方文档:https://docs.k3s.io/zh/installation/private-registry
  • vim /etc/rancher/k3s/registries.yaml
mirrors:docker.io:endpoint:- "https://docker.m.daocloud.io"

配置nerdctl和buildkitd

  • 新版本K3s 默认使用 containerd。这里我们使用nerdctl来打包成containerd镜像。nerdctl 是一个与 docker CLI 风格兼容的 containerd 的 CLI 工具,使用体验和 docker 基本一致。

  • 下载地址:https://github.com/containerd/nerdctl/releases,下载全量包,即包含nerdctl和buildkitd。

  • 解压到/usr/local/nerdctl目录,使用 nerdctl 管理 K3s 环境中的容器,手动指定 containerd socket,配置环境变量

  • vim /etc/profile

export CONTAINERD_ADDRESS="unix:///run/k3s/containerd/containerd.sock"
export PATH=$PATH:/usr/local/nerdctl/bin
  • nerdctl打包镜像要依赖buildkitd服务,为buildkitd添加到服务。
  • vim /etc/systemd/system/buildkitd.service
[Unit]
Description=buildkitd-server
After=k3s.service[Service]
Type=simple
ExecStart=/usr/local/nerdctl/bin/buildkitd --containerd-worker-addr="/run/k3s/containerd/containerd.sock" --oci-worker=false --containerd-worker=true[Install]
WantedBy=multi-user.target
  • 启动buildkitd,并设置开机自启动
systemctl start buildkitd
systemctl enable buildkitd

部署Jar

  • 本文以部署https://gitee.com/y_project/RuoYi-Vue.git后端程序为例。

配置文件

k3s配置

  • deployment.yaml,相较kubernetes(k8s)滚动发布,不宕机实战的配置增加日志挂载到宿主机上,实现日志持久化。
apiVersion: apps/v1
kind: Deployment
metadata:name: spring-boot-kubernetes-deployment
spec:replicas: 1strategy:rollingUpdate:maxSurge: 1 # 最大峰值用来指定可以创建的超出期望 Pod 个数的 Pod 数量。此值可以是绝对数(例如,5)或所需 Pods 的百分比(例如,10%)maxUnavailable: 0 #最大不可用  是一个可选字段,用来指定 更新过程中不可用的 Pod 的个数上限。该值可以是绝对数字(例如,5)也可以是所需 Pods 的百分比(例如,10%)selector:matchLabels:app: spring-boot-kubernetes-deploymenttemplate:metadata:labels:app: spring-boot-kubernetes-deploymentspec:terminationGracePeriodSeconds: 300 #如果需要的优雅终止时间比较长 (preStop + 业务进程停止可能超过 30s),可根据实际情况自定义 terminationGracePeriodSeconds,避免过早的被 SIGKILL杀死,与下面preStop有关联,300属于总时间containers:- name: spring-boot-kubernetesimage: spring-boot-kubernetes:1.0.0volumeMounts:- name: log-volumemountPath: /home/ruoyisubPathExpr: $(POD_NAME)imagePullPolicy: Never # 只使用本地镜像,防止ErrImagePull异常ports:- containerPort: 8080readinessProbe: #就绪探针httpGet:path: /port: 8080initialDelaySeconds: 50 #容器启动后要等待多少秒后才启动存活和就绪探测器, 默认是 0 秒,最小值是 0periodSeconds: 5  # 指定了 kubelet 应该每 5 秒执行一次存活探测。successThreshold: 1 #探测器在失败后,被视为成功的最小连续成功数。默认值是 1。 存活和启动探测的这个值必须是 1。最小值是 1。failureThreshold: 2 #当探测失败时,Kubernetes 的重试次数。 对存活探测而言,放弃就意味着重新启动容器。 对就绪探测而言,放弃意味着 Pod 会被打上未就绪的标签。默认值是 3。最小值是 1env: # 解决Java程序时区问题- name: TZvalue: Asia/Shanghai- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name # 注入 pod 名称lifecycle:preStop:exec:command: ["/bin/sh","-c","echo this pod is stopping. > /stop.log && sleep 90s"]volumes:- name: log-volumehostPath:path: /var/log/ruoyi  #日志挂载到宿主机上type: DirectoryOrCreate
  • service.yaml
apiVersion: v1
kind: Service
metadata:name: spring-boot-kubernetes-nodeport
spec:selector:app: spring-boot-kubernetes-deploymentports:- name: httpport: 9090 # 暴露出来访问的端口protocol: TCPtargetPort: 8080 # 目标端口type: NodePort

Dockerfile

  • Dockerfile内容
FROM m.daocloud.io/docker.io/library/openjdk:8-jdk-alpine
ADD ruoyi-admin.jar app.jar
ENTRYPOINT [ "java","-server", "-jar", "app.jar"]

打包镜像

  • ruoyi-admin.jar放到Dockerfile同级目录,执行命令。
# 注意: 这里要加命名空间k8s.ionerdctl build -t spring-boot-kubernetes:1.0.0 .  --namespace=k8s.io
  • crictl images检查有没有镜像
    在这里插入图片描述

运行apply deployment 和 service

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

初步验证

  • 运行kubectl get svc 找到服务
    在这里插入图片描述
  • curl 10.43.96.156:9090 (替换成自己的CLUSTER-IP
    在这里插入图片描述
  • 接口能通就代表成功了

滚动发布验证

  • 再构建一个镜像
 nerdctl build -t spring-boot-kubernetes:1.0.1 .  --namespace=k8s.io
  • 我使用jmeter来验证滚动发布过程中是否有异常(30255是前面服务分配的端口,外部可访问的)。
    在这里插入图片描述
    在这里插入图片描述
  • jmeter请求过程中我会使用以下命令升级镜像。
kubectl set image deployment/spring-boot-kubernetes-deployment spring-boot-kubernetes=spring-boot-kubernetes:1.0.1
  • 验证结果
    在这里插入图片描述
    在这里插入图片描述

  • 无异常发生表示滚动发布成功了

总结

  • 与kubernetes(k8s)滚动发布,不宕机实战相比大改动还是docker换成了containerd,打包镜像要nerdctl和buildkitd配合。增加了挂载日志。
  • 注意的点:
    • 1、拉不下来镜像配置源或设置代理
    • 2、打包镜像要增加--namespace=k8s.io参数,否则k3s获取不到镜像

参考

  • https://kingsd.top/2021/09/30/nerdctl/
  • https://www.cnblogs.com/david-cloud/p/18959296
  • https://blog.shuf.io/post/how-to-use-nerdctl-with-k3s
  • https://forums.rancher.cn/t/k3s-containerd/1679/3
  • https://blog.kelu.org/tech/2020/05/25/kubernetes-volumes-with-diff-folders.html
http://www.dtcms.com/wzjs/394752.html

相关文章:

  • 用什么做网站更快捷方便百度指数的主要功能有
  • 有哪些可以做调查的网站免费推广的渠道有哪些
  • 网站保姆-源码下载域名批量注册查询
  • 常设中国建设工程法律论坛网站广东企业网站seo哪里好
  • 采集wordpress整站数据郑州关键词排名顾问
  • 小程序就是做网站网络媒体推广产品
  • 广东两学一做考试网站搜索引擎哪个最好用
  • 商城站地址优化网站关键词的技巧
  • 紫阳网站建设上海网络推广平台
  • 网站开发毕业设计任务书范文广告投放方式
  • 动态网站开发技术有哪些电脑软件推广平台
  • 做的好的大学生旅行有哪些网站好微信朋友圈推广
  • 找快照网站查询网站seo优化方案设计
  • 宛城区微网站建设制作网站建设入门
  • 公务员写作材料网站上海专业seo服务公司
  • 上海平台网站建设哪家好西安网站制作费用
  • 文档里链接网站地址怎么做免费手机网站建站系统
  • 网站留言板块怎么做百度一下你就知道搜索引擎
  • 网站建设最重要的因素哪里有网站推广优化
  • 网站建设 学习什么软文案例大全300字
  • 成都p2p网站建设windows7系统优化工具
  • 深圳网站设计招聘粤语seo是什么意思
  • 专教做蛋糕的网站百度下载安装最新版
  • 一个专门做恐怖片的网站2022适合小学生的简短新闻
  • 网站鼠标的各种效果怎么做的营销型网站建设优化建站
  • 穆棱市城乡建设局网站漳州网络推广
  • 重庆梁平网站建设报价网站seo是什么意思
  • 导航网站 php一个新手如何推销产品
  • 海口做网站供应商百度指数怎么算
  • 网站目录遍历网站搭建