【问题解决】Docker容器内服务自启动解决方案

方案一:带脚本 run写一个脚本,如:#!/bin/bash./a/bin/bash给个名字叫 start.sh,给运行权限。在容器内试一下这个脚本能不能用。能用的话,打包好镜像,这样启动:docker run -it -d 映射啥的自己放 镜像id 脚本在容器内绝对路径方案二:脚本写入启动文件在 /root 下有一个 .bashrc,在里面的最后一行添加运行你的脚本的命令即可。方案三:DockerFile巧了,这个我不会...
分类: 编程语言 发布时间: 05-23 12:40 阅读次数: 0

问题解决:pod报错“Back-off restarting failed container“

1、找到对应 deployment2、添加 command: [ “/bin/bash”, “-ce”, “tail -f /dev/null” ]示例如下:kind: DeploymentapiVersion: apps/v1beta2metadata: labels: app: jenkins-master name: jenkins-master-deployspec: replicas: 1 selector: matchLabels: app
分类: 编程语言 发布时间: 05-23 12:39 阅读次数: 0

【实操】配置 Pod 以使用 PersistentVolume 作为存储

前面那篇是知识,自己动手了才是留下来的才是经验。一般的教程会教你从第一步到第一百步怎么走,而优秀的教程则会教你从第一步到第一百步为什么要那么走,以及有哪些坑。当然,差劲点的直接半路夭折了。显然,本篇是一般的教程。跟着做最终是能动,但是中间那些坑坑洼洼的只有从白板做起的人知道。看到这段话的小伙伴,可以现在退出去,自己从白板做一份,走不通了,在来比对一下咱的差别,再走过,就是你的经验了。1、准备:一个挂载的本地目录并且目录下有个文件mkdir /root/dataecho 'Hello from K
分类: 编程语言 发布时间: 05-23 12:39 阅读次数: 0

容器网络原理(有点长)

文章目录Docker网络原理跨主机网络CNI网络原理总结Docker网络原理网络栈”,就包括:网卡(Network Interface)、回环设备(Loopback Device)、路由表(Routing Table)和 iptables 规则。作为一个容器,它可以声明直接使用宿主机的网络栈(–net=host),即:不开启 Network Namespace,比如:$ docker run –d –net=host --name nginx-host nginx在这种情况下,这个容器启动后,.
分类: 编程语言 发布时间: 05-23 12:39 阅读次数: 0

k8s【存储】,也是有点长

文章目录共享存储pv、pvc、StorageClass使用详解共享存储PVPVCPV和PVC的生命周期StorageClass设置默认的StorageClassLocal Persistent Volume共享存储pv、pvc、StorageClass使用详解共享存储Kubernetes对于有状态的容器应用或者对数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机的目录或者emptyDir临时存储卷,而且需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后仍然可以使用之前的数据。不
分类: 编程语言 发布时间: 05-23 12:39 阅读次数: 0

常用高并发网络线程模型设计及mongodb线程模型优化实践

前言: 服务端通常需要支持高并发业务访问,如何设计优秀的服务端网络IO工作线程/进程模型对业务的高并发访问需求起着至关重要的核心作用。 本文总结了了不同场景下的多种网络IO线程/进程模型,并给出了各种模型的优缺点及其性能优化方法,非常适合服务端开发、中间件开发、数据库开发等开发人员借鉴。 常用高并发网络线程模型设计及mongodb线程 模型优化实践(最全高并发网络IO线程模型设计) 1. 线程模型一. 单线程网络IO复用模型 1.1 说明: 1. 所有网络IO事件(accept事件、读事件、写
分类: 其他 发布时间: 05-23 12:38 阅读次数: 0

k8s 之 声明式 API

文章目录1. Kubernetes API概述CRD编写自定义控制器代码1. Kubernetes API概述apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx
分类: 编程语言 发布时间: 05-23 12:38 阅读次数: 0

docker attach 和 exec 的区别

一个好习惯是使用 run 启动容器,用 exec 运行容器,用 Ctrl+P+Q 退出容器。用 git 来类比吧。现在我用 run 类比为创建一个 git 代码库,attach 相当于你直接在我的分支上写代码,exec 相当于你 clone 一份自己去边上玩儿去。网上的教程都是这么说的,他们说的也都没错。但是我就是要再写一篇,语不惊人死不休!!!!不要到时候说:看了某人的博客,感觉有浪费了好几分钟哈哈。。。提问:attach 对容器的修改会持久化吗?exec 呢?如果会,需要满足什么条件?如果不
分类: 编程语言 发布时间: 05-23 12:38 阅读次数: 0

Mongodb特定场景性能数十倍提升优化实践(记一次mongodb核心集群雪崩故障)

1. 问题背景 某核心JAVA长连接服务使用mongodb作为主要存储,客户端数百台机器连接同一mongodb集群,短期内出现多次性能抖动问题,此外,还出现一次“雪崩”故障,同时流量瞬间跌零,无法自动恢复。本文分析这两次故障的根本原因,包括客户端配置使用不合理、mongodb内核链接认证不合理、代理配置不全等一系列问题,最终经过多方努力确定问题根源。 该集群有十来个业务接口访问,每个接口部署在数十台业务服务器上面,访问该mongodb机器的客户端总数超过数百台,部分请求一次拉取数十行甚至百余行
分类: 其他 发布时间: 05-23 12:38 阅读次数: 0

helm 学习

文章目录Helm 是什么?Helm 解决了什么痛点?版本映射安装基本概念常用方法helm repo:使用存储库helm search: 查找图表helm install’:安装包自定义安装自定义 chart格式和限制–sethelm upgrade、helm rollback:升级版本,并在失败时恢复helm uninstall:卸载版本创建自己的chart✈推荐阅读:Helm 是什么?Helm 是 Kubernetes 的包管理器。包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使.
分类: 编程语言 发布时间: 05-23 12:37 阅读次数: 0

Mongodb集群搭建一篇就够了-复制集模式、分片模式、带认证、不带认证等(带详细步骤说明)

本文主要介绍mongodb集群的搭建安装过程,对于学习mongodb的同学很有帮助,包括分片模式、复制集模式、是否启用认证等,本文选取mongodb-3.6.3版本为例进行详细安装说明,其他版本搭建过程和本过程一样,只需按照本文说明操作即可。 Mongodb分片集群架构 如上图所示,整个mongodb分片集群由lvs、mongos、mongo-config集群、mongodb复制集组成,其对应的功能如下: Mongos: 提供路由功能 Mongo-config集群:配置服务器相当于集群的大脑,
分类: 其他 发布时间: 05-23 12:37 阅读次数: 0

问题解决:Error: non-absolute URLs should be in form of repo_name/path_to_chart, got: my-ghost

退到 my-ghost 的上级目录
分类: 编程语言 发布时间: 05-23 12:37 阅读次数: 0

helm 构建 chart

文章目录应用示例基础模板命名模板版本兼容持久化定制我的文和网上现有的文可能只差百分之一,但是这百分之一,就够了。应用示例如果我们想要在 Kubernetes 集群中部署两个副本的 Ghost,可以直接应用下面的资源清单文件即可:# ghost/deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: ghostspec: selector: matchLabels: app: ghos.
分类: 编程语言 发布时间: 05-23 12:37 阅读次数: 0

helm charts 模板编程

文章目录模板函数与管道模板函数辅助模板管道default 函数lookup 函数控制流程:判断、循环if/else 条件空格控制使用 with 修改范围range 循环变量命名模板声明define和使用命名template模板范围include 函数required 函数tpl 函数注意事项子 chart 包创建子 chart值覆盖全局值模板函数与管道模板函数比如我们需要从.Values中读取的值变成字符串的时候就可以通过调用quote模板函数来实现:(templates/configmap.yaml
分类: 编程语言 发布时间: 05-23 12:37 阅读次数: 0

mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现二

关于作者 前滴滴出行技术专家,现任OPPO文档数据库mongodb负责人,负责oppo千万级峰值TPS/十万亿级数据量文档数据库mongodb内核研发及运维工作,一直专注于分布式缓存、高性能服务端、数据库、中间件等相关研发。后续持续分享《MongoDB内核源码设计、性能优化、最佳运维实践》,Github账号地址:https://github.com/y123456yz 1. 说明 在之前的<<Mongodb网络传输处理源码实现及性能调优-体验内核性能极致设计>>一文中分析了如何阅读百万级大工程
分类: 其他 发布时间: 05-23 12:36 阅读次数: 0

问题解决:dial tcp 172.217.160.81:443: connect: connection refused

[root@k8s-master wlf]# cat /etc/resolv.conf# Generated by NetworkManagersearch localdomainnameserver 192.168.190.2[root@k8s-master wlf]# vi /etc/resolv.conf[root@k8s-master wlf]# cat /etc/resolv.conf# Generated by NetworkManagersearch localdomain#
分类: 编程语言 发布时间: 05-23 12:36 阅读次数: 0

问题解决:The connection to the server xxxxx:6443 was refused - did you specify the right host or port?

具体排查过程是真的忘了,前后开关了十几个网页。1、查看kubelet是否正常 systemctl status kubelet2、kubelet未启动的情况,查看kubelet日志 journalctl -xefu kubelet3、不过我这里是启动的4、中间跳过 n 步,发现是 apiserver 没起来5、中间又跳过 n 步,发现是 etcd 没起来导致 apiserver 没起来6、中间又跳过 n 步,尝试备份后移除 cd /var/lib/etcd 目录下的文件,因为是在异常情况下断电
分类: 编程语言 发布时间: 05-23 12:36 阅读次数: 0

mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现三

关于作者 前滴滴出行技术专家,现任OPPO文档数据库mongodb负责人,负责oppo千万级峰值TPS/十万亿级数据量文档数据库mongodb研发和运维工作,一直专注于分布式缓存、高性能服务端、数据库、中间件等相关研发。Github账号地址:https://github.com/y123456yz 1. 说明 在之前的<<Mongodb网络传输处理源码实现及性能调优-体验内核性能极致设计>>和<<transport_layer网络传输层模块源码实现二>>一文中分析了如何阅读百万级大工程源码、A
分类: 其他 发布时间: 05-23 12:36 阅读次数: 0

client-go 入门学习

文章目录安装RESTClient,DynamicClient和ClientSet Demo基本操作介绍连接 API Server创建一个clientset获取集群的PVC列表监听集群中pvc启动监听功能循环事件处理ADDED事件处理DELETED事件运行程序client-go 进入pod执行命令进入单个 pod 执行命令进入多个 pod 执行命令client-go增删改查crd示例 CRDlist 资源get 资源create 资源update 资源patch 资源delete 资源client-go 输出
分类: 编程语言 发布时间: 05-23 12:36 阅读次数: 0

1.递归与分治

文章目录一、递归与分治概述:1.分治法的设计思想2、递归的概念一、递归与分治概述:1.分治法的设计思想将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之分治法的可行性(前提条件):①如果原问题可以分成k个子问题,1&lt;k&lt;=n② 子问题都可解③ 可利用子问题的解求出原问题的解问题分解是求解复杂问题时很自然的做法。求解一个复杂问题可以将其分解成若干个子问题,子问题还可以进一步分解成更小的问题,直到分解所得的小问题是一些基本问题,并且其求解方
分类: 编程语言 发布时间: 05-23 12:35 阅读次数: 0