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

网站模板套餐保险预约

网站模板套餐,保险预约,wordpress 多少张表,全国中小企业网站最近忙于备考没关注#xff0c;有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源#xff0c;但我以交流、交换为主#xff0c;笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟#xff0c;为了避免更多人花没必要的钱#xff0c;所以决定公… 最近忙于备考没关注有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源但我以交流、交换为主笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟为了避免更多人花没必要的钱所以决定公开出来 欢迎各位大佬指正文章内容 注意1-5都是容器化部署与k8s没有关系也就是k8s出现之前的技术 记录更改容器源的方法【这个源已不能用】 sed -i s/registry.k8s.io\/pause:3.6/registry.aliyuncs.com\/google_containers\/pause:3.9/g /etc/containerd/config.toml#更改systemctl restart containerd # 重启1-5题用软件包ERP.tar.gz 后续题目用软件包CICD-Runner.tar.gz 1容器化部署 MariaDB 注意centos_7.9.2009.tar 在ERP.tar.gz里 注意docker images查看一下镜像加载后的名字后面写dockerfile的FROM需要替换为自己的镜像名字 docker load -i centos_7.9.2009.tar 注意我们这里配置的yum源与以往的不一样 [ERP] nameERP enabled1 gpgcheck0 baseurlfile:///root/yum因为这个yum源是给容器准备的等会dockerfile运行会将它复制到容器里 编写mysql初始化脚本这个也是要去容器中运行的 #!/bin/bash mysql_install_db --userroot mysqld_safe --userroot sleep 8 mysqladmin -u root password tshoperp mysql -uroot -ptshoperp -e grant all on *.* to root% identified by tshoperp; flush privileges; mysql -uroot -ptshoperp -e create database jsh_erp;use jsh_erp; source /opt/jsh_erp.sql;编写docker_mariadb以下从字面意思都能读懂不多解释 这个是错的 vi docker_mariadb # 错的错的错的这个是错的 FROM centos:7.9.2009 # 抽取镜像 MAINTAINER troml1788 # 维护者信息 RUN rm -rf /etc/yum.repos.d/* # 清空自带的源 COPY local.repo /etc/yum.repos.d/ # 复制我们准备的本地仓库 RUN mkdir /root/yum # 创建本地仓库 COPY yum /root/yum # 复制离线包到仓库 ENV LC_ALL en_US.UTF-8 # 设置环境变量LC_ALL为en_US.UTF-8这是为了支持多语言字符集 RUN yum -y install mariadb-server # 安装数据库 COPY jsh_erp.sql /opt/ # 复制数据库备份文件 COPY mysql_init.sh /opt/ # 复制数据库初始化脚本 RUN bash /opt/mysql_init.sh # 执行数据库初始化脚本 EXPOSE 3306 # 开放3306端口 CMD [mysqld_safe,--userroot] # 执行mysqld_safe命令以root用户执行mysql这个是对的 FROM centos:7.9.2009 MAINTAINER troml1788 RUN rm -rf /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ COPY jsh_erp.sql /opt/ COPY yum /root/yum COPY mysql_init.sh /opt/ ENV LC_ALL en_US.UTF-8 RUN yum install -y mariadb-server RUN bash /opt/mysql_init.sh EXPOSE 3306 CMD [mysqld_safe,--userroot]需要注意的是对应关系这个docker_mariadb一定要和mysql_init.sh、yum文件夹、local.repo、jsh_erp.sql在同一级下 因为要复制他们到使用centos7创建的容器中 docker build \ -t erp-mysql:v1.0 \ -f docker_mariadb .docker images总结本题的操作 加载了centos7镜像到docker中它将被用来创建镜像也可直接启动一个容器 为新建的容器编写local.repo仓库源和mysql_init.sh数据库初始化脚本 使用Docker构建一个Docker镜像基于dockerfile和centos7镜像 构建了一个erp-mysql:v1.0名字版本镜像 这个镜像将被用来启动出一个容器 2容器化部署Redis 编写dockerfile 这个是错的 vi docker_redis # 错的错的错的这个是错的 FROM centos:centos7.9.2009 MAINTAINER troml1788 RUN rm -rf /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ RUN mkdir /root/yum COPY yum /root/yum RUN yum install -y redis # 修改文件内容 RUN sed -i s/127.0.0.1/0.0.0.0/g /etc/redis.conf RUN sed -i s/protected-mode yes/protected-mode no/g /etc/redis.conf EXPOSE 6379 # 启动 Redis并应用修改后的文件 CMD [/usr/bin/redis-server,/etc/redis.conf] 报错点在 如果没有下面添加的那一行就没有开启认证服务 那么应用程序来认证但是这边并不提供认证服务就会导致现象 账户密码错误的时候会提示错误但是账户密码正确时会提示请求错误 FROM centos:centos7.9.2009 MAINTAINER troml1788 RUN rm -rf /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ COPY yum /root/yum RUN yum install -y redis RUN sed -i s/127.0.0.1/0.0.0.0/g /etc/redis.conf RUN sed -i s/protected-mode yes/protected-mode no/g /etc/redis.conf RUN echo requirepass tshoperp /etc/redis.conf # 添加这一行 EXPOSE 6379 CMD [/usr/bin/redis-server,/etc/redis.conf]正确内容 FROM centos:7.9.2009 MAINTAINER troml1788 RUN rm -rf /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ COPY yum /root/yum RUN yum install -y redis RUN sed -i s/127.0.0.1/0.0.0.0/g /etc/redis.conf RUN sed -i s/protected-mode yes/protected-mode no/g /etc/redis.conf RUN echo requirepass tshoperp /etc/redis.conf EXPOSE 6379 CMD [/usr/bin/redis-server,/etc/redis.conf]docker build \ -t erp-redis:v1.0 \ -f docker_redis .docker images这里只是定制了一个redis镜像redis一般是多节点运行的 题目只要求我们构建并没有要求我们构建redis主从因此完工 3容器化部署Nginx nginx是一个轻量级的HTTP服务器 这个是错的 # 错的错的错的这个是错的 FROM centos:centos7.9.2009 MAINTAINER troml1788 RUN rm -rf /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ COPY yum /root/yum RUN yum install -y nginx COPY nginx/nginx.conf /etc/nginx/nginx.conf COPY nginx/app.tar.gz / RUN tar -zxvf app.tar.gz RUN /bin/bash -c echo init ok EXPOSE 80 CMD [nginx,-g,daemon off;]正确内容 FROM centos:7.9.2009 MAINTAINER troml1788 RUN rm -rf /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ COPY yum /root/yum RUN yum install -y nginx COPY nginx/nginx.conf /etc/nginx/nginx.conf COPY nginx/app.tar.gz / RUN tar -zxvf app.tar.gz RUN /bin/bash -c echo init ok EXPOSE 80 CMD [nginx,-g,daemon off;]docker build \ -t erp-nginx:v1.0 \ -f docker_nginx .4容器化部署ERP ERP是企业资源计划就是工厂里面生产用的系统作为我们本次练手部署的应用服务 这个是错的 vi docker_erpFROM centos:7.9.2009 MAINTAINER troml COPY app.jar /root RUN mkdir -p /root/yum COPY yum /root/yum RUN rm -rfv /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel EXPOSE 9999 # 启动就运行app.jar CMD java -jar /root/app.jar正确内容 FROM centos:7.9.2009 MAINTAINER troml1788 COPY app.jar /root COPY yum /root/yum RUN rm -rf /etc/yum.repos.d/* COPY local.repo /etc/yum.repos.d/ RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel EXPOSE 9999 CMD java -jar /root/app.jardocker build \ -t erp-server:v1.0 \ -f docker_erp .5编排部署 ERP 注意这里 编排也就是容器化部署应用服务k8s做的就是很强大的统一编排功能这里我们做的是docker编排 编写docker-compose.yaml 文件 就是这里出现了问题。错误保留正确往下看 这个是错的 version: 3.8 services:mysql:image: erp-mysql:v1.0redis:image: erp-redis:v1.0erp:image: erp-server:v1.0nginx:image: erp-nginx:v1.0ports:- 8888:80 # 将宿主机的 8888 端口映射到容器的 80 端口错误点在于我们之前用的mysql做了资源名称导致映射成了mysql而应用程序中写的连接是erp-mysql这就是连不上数据库的原因 不知道为什么vi中写yaml总是说没对齐所以建议用本地VSCode写好后站上去 正确内容 version: 3.8 services:erp-mysql:image: erp-mysql:v1.0erp-redis:image: erp-redis:v1.0erp-server:image: erp-server:v1.0erp-nginx:image: erp-nginx:v1.0ports:- 8888:80Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具它使用一个单一的配置文件通常称为 docker-compose.yaml 文件来定义整个应用程序 在我们的环境中他和harbor仓库一起按照 就是说它会自动寻找docker-compose.yaml 如果起了其它名字需要docker-compose -f xxx.yaml up来运行 ## 按两下table [rootk8s-master-node1 ~]# docker- docker-compose docker-init docker-proxy 运行yaml文件 Docker 容器中通常在 docker-compose.yml 文件中声明的各个服务 docker-compose up -d这时如果不出意外的话就可以访问到ERP工厂了不过我们的app.jar出了点问题【上面已修复】 小总结 以上完整地容器化部署了一个项目刚刚启动的这些服务被称为容器 在docker中容器是最小部署单位 在k8s中pod是最小部署单位pod包含多个容器而且多个pod共享资源同一台裸机或虚拟机 完美解决问题 不是app.jar包的问题而是我们操作出现了问题 部署redis # 没开启认证 docker-compose.yaml # 映射名起错了展示 账户admin 密码123456 注意这样部署的服务重启一下就没了如果需要他自动重启那么我们就要按下面写 [rootk8s-master-node1 ERP]# cat docker-compose.yaml version: 3.8 services:erp-mysql:image: erp-mysql:v1.0restart: alwayserp-redis:image: erp-redis:v1.0restart: alwayserp-server:image: erp-sever:v1.0restart: alwayserp-nginx:image: erp-nginx:v1.0ports:- 8888:80restart: always从这里开始就是将应用服务部署到k8s集群中的 虽然集群4G运存就能跑起来 但是到了图形化界面还是有点慢的 我这里给到了13G运存 注意下列题目该用CICD-Runner.tar.gz了 6部署 GitLab 加载镜像等步骤就不多说了题目中有 不过比赛时命令不一样咱们这是自己下载的包用脚本上传 2024-12-14更正现在k8s版本比较新用ctr加载 docker load -i images.tar记录一个快速编写kubectl模板的方法kubectl在搭建的知识点里有详细介绍 kubectl create --help创建模板再试运行直接就写入模板了 kubectl create deployment gitlab \ --imagegitlab/gitlab-ce:latest \ --port80 \ # 试运行不实际创建资源 --dry-run -oyaml gitlab.yamlkubectl create service nodeport gitlab \ --tcp80:80 \ --dry-run \ -oyaml gitlab.yaml修改成下面这样 apiVersion: apps/v1 kind: Deployment metadata:labels:app: gitlabname: gitlabnamespace: gitlab-ci # 添加要部署的命名空间等会记得先创建 spec:replicas: 1selector:matchLabels:app: gitlabtemplate:metadata:labels:app: gitlabspec:containers:- image: gitlab/gitlab-ce:latestimagePullPolicy: IfNotPresent #添加镜像拉取策略本地有这个镜像就不用再拉了name: gitlab-ceports:- containerPort: 80env:- name: GITLAB_ROOT_PASSWORD # 添加root用户密码 # 注意这里因为我们用的最新版gitlab镜像严格要求不能是弱密码 # 所以此处先不按题目的admin123来比赛时要填admin123value: QazWsxEdc781 # 设置root用户密码 #下面这几个不指定也可以本来就是默认的- name: GITLAB_HOST # 添加master主机value: 192.168.100.10 # 添加IP- name: GITLAB_PORT value: 80 --- # 多个资源之间要用三个横线隔开 apiVersion: v1 kind: Service metadata:creationTimestamp: nulllabels:app: gitlabname: gitlabnamespace: gitlab-ci spec:ports:- name: 80-80port: 80protocol: TCPtargetPort: 80nodePort: 30880 #添加暴漏端口不然会随机一个selector: # 选择器很重要它会找这个gitlab然后暴漏它的端口app: gitlabtype: NodePort回想一下命名空间的作用 kubectl create namespace gitlab-cikubectl apply -f gitlab.yaml kubectl get pod,svc -n gitlab-ci等待一会 发现出错了 [rootk8s-master-node1 CIDI-Runner]# kubectl delete pod gitlab-7cb8c45dbc-fvldt -n gitlab-ci pod gitlab-7cb8c45dbc-fvldt deleted访问 注意出现这个不要急因为服务要一个一个启动 出现了输入我们的admin/QazWsxEdc781 开始上传demo-2048项目 点击新建项目 点击导入项目 有些版本会出现这种情况常见于新版 如果有上传按钮跳过蓝色字样的步骤【直接去看第七步】 解决方法 允许上传 继续上传 选择导入 就可以导入了 上传项目 出现404或者下图Error都不要急等一会刷新就好 20s左右没恢复基本就是出问题了看虚拟机配置有没有给足 本题完成 后面以图形化操作居多 7部署 GitLab Runner 首先查看我们的gitlab-runner 和 gitlab镜像版本 然后安装heml安装过的可以不用做 获取令牌 为GitLab Runner 创建持久化构建缓存目录/home/gitlab-runner/ci-build-cache 并将其注册到 GitLab 中 修改values.yamlvalues.yaml在gitab-runner.tar.gz压缩包里解压后进去修改改完不用动文件位置 [[runners.kubernetes.volumes.host_path]]name cachemount_path /home/gitlab-runner/ci-build-cachehost_path /opt/cache[[runners.kubernetes.volumes.host_path]]name dockermount_path /var/run/docker.sockread_only truehost_path /var/run/docker.sockhelm install --namespace gitlab-ci gitlab-runner \--set gitlabUrlhttp://192.168.100.10:30880/ \--set runnerRegistrationTokenqCcz8c2MSnxdx5_RxbGz \--set runners.tagsk8s-runner \--set rbac.createtrue .刷新界面就能看到 如果没有可能是入栈流量没开启此为刷新后没有runner的步骤 先删除之前搞的然后按照步骤重新来 helm uninstall -n gitlab-ci gitlab-runner本题完成 8部署 GitLab Agent 将 Kubernetes 集群添加到 GitLab 项目中指定名称和命名空间 我们进圈起来那个 kubectl exec -it -n gitlab-ci gitlab-5d568c5b-g44lz /bin/bash1检查组件 如果没启动去vi /etc/gitlab/gitlab.rb 修改 # gitlab_rails[gitlab_kas_enabled] true 并取消注释这里我们启动了就不管了 2修改gitlab.yml find /opt/* -name gitlab.yml # 回显下面那个文件编辑他 /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml这里修改为master的节点也就是harbor仓库和部署gitlab的节点 修改完后重启 不修改等会流水线会报错找不到那个gitlab-xxxxx ctrl D 返回master节点 回到项目准备创建目录 创建的目录 .gitlab/agents/kubernetes-agent再创建一个空file在我们刚刚创建的目录下 输入名字保存 加入集群 helm install gitlab-agent --generate-name \--namespace gitlab-ci \--set config.tokenglagent-z5XMY8gEGxEdFa6AtNJ6SLWv3C2n8z1gapJ-EgswTb6Uz-ncQw \--set config.kasAddressws://192.168.100.10:30880/-/kubernetes-agent/此时注意终端所处位 开始执行部署命令 刷新界面注意这里有时响应比较慢等一会就好了大约30秒 本题完成 注意由于2024年阿里云挂了在之前我们执行加入集群后会拉去15.1.0 以前是能成功拉起来的阿里云挂了以后就拉不下来啦 解决方法给镜像重新打个标签 docker tag registry.gitlab.com/gitlab-org/cluster-integration/gitlab-agent/agentk:v15.1.0 registry.gitlab.com/gitlab-org/cluster-integration/gitlab-agent/agentk:v15.0.0或者修改yaml文件但是这种方法更简单粗暴 小记一下 如果遇到pod出现诸如ImagePullBackOff…这样的错误可使用下面命令排错 kubectl describe pod XXXX -n gitlab-ci删除pod重建 kubectl delete pod XXXX -n gitlab-ci9构建 CI/CD 本题注意分支所有操作均在drone分支下操作 进入drone分支现成的yaml文件 修改demo-2048.yaml改成harbor地址 然后配置文件已经写了现在需要去harbor创建仓库 登陆 创建 完成 下面这个文件已经存在于gitlab的仓库内切换分支进行修改 修改dockerfile 必做步骤 向harbor仓库推送镜像 docker login 192.168.100.10 docker tag tomcat:8.5.64-jdk8 192.168.100.10/library/tomcat:8.5.64-jdk8 docker push 192.168.100.10/library/tomcat:8.5.64-jdk8可能会遇到权限不足的问题 kubectl get clusterroles为用户 system:serviceaccount:gitlab-ci:default 授予 admin 角色kubectl create clusterrolebinding gitlab-ci-admin \ --clusterroleadmin \ --serviceaccountgitlab-ci:default写一个流水线脚本这里完全不会写复制的 variables:MAVEN_OPTS: -Dmaven.repo.local/home/gitlab-runner/ci-build-cache/.m2/repositoryDOCKER_CONFIG: |{insecure-registries: [192.168.100.10]} stages:- project_build- image_build- deployproject_build:stage: project_buildimage: maven:3.6-jdk-8tags:- k8s-runnerscript:- echo nameserver 10.10.1.2 /etc/resolv.conf- echo nameserver 114.114.114.114 /etc/resolv.conf # 新增配置阿里源- mkdir -p /home/gitlab-runner/ci-build-cache/- echo settingsmirrorsmirroridalimaven/idmirrorOfcentral/mirrorOfurlhttps://maven.aliyun.com/repository/central/url/mirror/mirrors/settings /home/gitlab-runner/ci-build-cache/settings.xml- mvn package install -B -DskipTests -s /home/gitlab-runner/ci-build-cache/settings.xml- ls target# 这一步是因为不知道为啥构建出来的是2048.war- mv target/2048.war target/demo-2048.war- jar -xf target/demo-2048.war- cp -rvf target /home/gitlab-runner/ci-build-cache/- ls /home/gitlab-runner/ci-build-cache/target/image_build:stage: image_buildimage: docker:18.09.7tags:- k8s-runnervariables:DOCKER_DRIVER: overlay2services:- name: docker:18.09.7-dindentrypoint: [dockerd-entrypoint.sh]command: [--insecure-registry,192.168.100.10]script:- mkdir -p /etc/docker- mkdir -p /usr/lib/systemd/system/- echo ExecStart/usr/bin/dockerd --insecure-registry192.168.100.10 /usr/lib/systemd/system/docker.service- cat /usr/lib/systemd/system/docker.service- echo $DOCKER_CONFIG /etc/docker/daemon.json- cat /etc/docker/daemon.json- echo Harbor12345 password.txt- cat password.txt | docker login -u admin --password-stdin 192.168.100.10- mv Dockerfiles/Dockerfile .- ls /home/gitlab-runner/ci-build-cache/- cp -rvf /home/gitlab-runner/ci-build-cache/target/2048 .- docker build -t demo:latest .- docker tag demo:latest 192.168.100.10/demo/demo:latest- docker push 192.168.100.10/demo/demo:latestdeploy:image: bitnami/kubectl:1.22stage: deploytags:- k8s-runnerscript:- kubectl apply -f template/demo-2048.yaml- kubectl apply -f template/service.yaml保存文件直接开始流水线 如果报错查看下述文章 https://www.yuque.com/wangziyang-5wpbr/rx60zg/rbhlexqumu6ralce?singleDoc# 《流水线排错记录》 运行结束 持久化缓存目录也成功了 访问masterIP:8889就可以玩游戏了 排错完毕特此记录 如果重启后这个pod错误了那么删除pod直接就会自动新建pod 启动后发现有问题 删除后自动又创建了一个然后又可以玩了 下面这三题太超纲了暂时放弃 10 服务网格创建 VirtualService 实验环境运行中的 Kubernetes 集群Istio 已经被正确安装 这个题要确定在搭建过程中istio部署成功且启用自动注入 Envoy 代理作为 Sidecar
http://www.dnsts.com.cn/news/159461.html

相关文章:

  • 网站 建设 计划企业策划书模板
  • 国度网络网站建设梅州建站公司
  • 提升网站长尾关键词排wordpress 全站不刷新
  • 织梦网站提示保存目录数据时报wordpress评论加入点赞
  • tv网站建设免费帮助建站
  • 哪里提供邢台做网站宿迁做网站建设的公司
  • 从网站优化之角度出发做网站策划海口网站制作方案
  • 生活服务类网站开发crm和scrm有什么区别
  • 盐城哪里做网站网站项目整体思路
  • 网站建设 牛商网网推怎么做
  • 成都建设网站公司简介建站网站推荐
  • 建筑官方网站如何做游戏推广网站
  • 佛山网站建设与设计公司wordpress 淘宝模板
  • 网站是新媒体平台吗有哪些免费的视频网站
  • p2p网上贷款网站建设方案.docx天水营销型网站建设
  • 怎样做网站卖网站做网站后台的电子文库
  • 自建网站和租用空间网站用网站模板做新网站
  • 做海报好的psd网站广州网站建设年底促销
  • 专业的建设网站哪个好个人能建设网站吗
  • 网站改版怎么办网页制作个人简历模板教程
  • 网站运营前期中期后期only网站建设分析
  • 北京网站建设 seo公司品牌网站建设专家
  • 网页建设与网站设计心德体会seo的中文名是什么
  • 长沙100强企业排名搜索引擎优化案例分析
  • 黄冈网站建设优化排名外国做挂的网站是多少
  • 网站代理备案表阳江房产网签查询
  • wordpress建站是什么建设网站的安全性介绍
  • 合肥建设厅网站南京网站制作公司排名
  • 建设网站时候应该注意哪些自己电脑做网站空间
  • jsp网站开发详解 下载注册建筑设计师