自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(241)
  • 资源 (5)
  • 收藏
  • 关注

原创 微软正式发布开源应用平台 Radius平台

10 月 18 日,微软 Azure 孵化团队正式发布开源应用平台Radius,该平台将应用程序置于每个开发阶段的中心,重新定义应用程序的构建、管理与理解方式。简单的概括就是,它和Kubernetes不一样,Radius将应用程序放在每个开发阶段的中心——重新定义了应用程序是如何构建、管理和理解的。并且提供了标准化部署和自动化资源配置工具,为开发者和运维团队提供了一个集中化的协作平台。另外,Radius通过其“应用程序图数据”使大家能够全面地查看构建架构。

2023-10-20 08:48:28 737

原创 浅谈AI大模型技术:概念、发展和应用

AI大模型技术已经在自然语言处理、计算机视觉、多模态交互等领域取得了显著的进展和成果,同时也引发了一系列新的挑战和问题,如数据质量、计算效率、知识可解释性、安全可靠性等。城市运维涉及到多个方面,如交通管理、环境监测、公共安全、社会治理等,它们需要处理和分析大量的多模态数据,如图像、视频、语音、文本等,并根据不同的场景和需求,提供合适的决策和响应。知识搜索有多种形式,如语义搜索、对话搜索、图像搜索、视频搜索等,它们可以根据用户的输入和意图,从海量的数据源中检索出最相关的信息,并以友好的方式呈现给用户。

2023-10-18 14:21:46 849

原创 pid-max设置多少合适之原理

之前我读源码可能不仔细,“当时认为主机内核的pid-max是不需要修改的,因为已经是最大值了,这个值改大了也没有用,和主机的cpu物理核数有关,这个值是系统在开机的时候会帮我们设置成最大值。因为每核最大值是1024,比如我们32核的机器就是1024*32,也就是系统会设置成32768,40核机器就是40960,所以不需要修改,改小可以,改大改了也没有效果。”但是,刚仔细看了下代码,这个要看long字节大小 ,也就是操作系统版本,如果long是大小4字节的,就是,如果是64的可以到2^22/* * T

2022-02-18 11:24:00 1348

原创 容器镜像的定制

课程出品人陈强,目前就职于上汽集团云计算中心,容器云架构师及技术经理;长年在云计算领域搬砖,曾就职于 Intel, IBM, 爱奇艺 等公司;有五年基于 Docker/Mesos/Kubernetes 的云容器研发经验,积累了丰富的生产实践经验,专注于云原生技术的研究。2020 容器云职业技能大赛百位专家委员会成员。课程简介如今云容器领域呈现出了百花齐放的姿态,特别是 Docker 容器技术与 Kubernetes 容器编排技术的相得益彰,更加造就了云原生社区火热的今天。这个的背后离不开容器的镜像

2021-04-25 17:25:54 606

原创 K8S中编写自己的CRD及Controller简明指南

Table of Contents一、背景二、环境准备及基本开发流程1、Golang 环境搭建1.1 Golang 语言版本1.2 Golang 环境配置2、CRD Controller 开发环境搭建2.1、使用时的一些注意事项3、CRD Controller的开发逻辑4、CRD controller的测试与部署三、演示3.1 构架代码生成3.1.1 采用 GOPATH 来生成3.1.2 采用 go mod 来生成3.2 验证生成的代码3.2.1

2020-06-28 11:19:56 8959 2

原创 单条日志过长引发的 CLOSE-WAIT

一、背景部分租户称他们的某个业务部署在 K8S 容器平台后经常会重启,部分租户称另一个业务在运行一段时间时会产生大量的 CLOSE-WAIT,还有的就是业务跑着就会 hang 住。其实这三个问题,经过我们排查后,都是同一个问题引起,这也是我今天要分享的主题内容。二、分析过程大家都知道,重启我们不好查,因为原因太多了,比如:容器分配的内存不够会重启,运行中程序内存泄漏到将内存耗尽会重启;在 K8S 中配置了容器运行时健康检查时,如果条件未达到会重启等等;总之不好排查。那如果这三个问题有关联的话,那么

2020-06-23 21:18:54 551

原创 最大层内元素和

这里我们可以采用很多解法,比如单队列、双队列、但更多的,我觉得采用递归思想,才是比较考验思维功底的。解法一:非递归-双队列解法首先来一个通用的非递归解法,采用双队列比单队列好理解,而且更高效。我的写法参考如下,见注释部分:/** * Definition for a binary tree node. * type TreeNode struct { * Val int *...

2020-03-18 09:40:44 245

原创 K8S开启默认的StroageClass

当集群中有多个storageclass时,一般需要指定一个默认的sc,这样可以自动的选择一个进行创建pvc。To enable dynamic storage provisioning based on storage class, the cluster administrator needs to enable the DefaultStorageClass admission contro...

2020-02-27 13:56:10 6270 2

原创 golang中如何理解break与goto标签执行顺序

平时我们经常会用 for 和 select 语句来搭配使用来实现不断的通讯。比如一个 goroutine 不断的从管道中发送字符,另一个不断的接收字符,当在管道关闭后,正常结束程序的执行。如果我们不使用类似break, goto 等配合跳出到指定的标签,那么程序就不好控制正常结束了。这里简要说明break,goto配合标签使用时的执行逻辑如下:break是跳出到标签对应的当前指令,然后执行...

2020-02-27 12:50:00 1207

原创 golang交替输出字符串

朋友问了一道使用通道来实现“多线程”通讯的golang题,我看了下,还比较简单。但由于这个对理解golang之间利用通道通讯有一定的帮助,所以写下如下代码,发出来给大家看看。思路简要:最开始需要用一个带缓存的通道来触发开始操作,否则会引起死锁。然后用两个通道不断的交替进行接收与发送package main/**用三个线程,交替输出abc,abc,abc...*/import (...

2020-02-25 17:28:26 698

原创 换goland主题皮肤

最近想换个goland的主题,余是就找了下资料,记录一下。先贴下我换的 github 主题感觉还不错。具体步骤如下:打开goland的preference, 搜索一下 plugin, 切换到marketplace面板,发现有一个下载量巨多的 Meterial Theme UI, 安装重启即可。然后再到theme下面,就可以看到很多主题了,挑一个你喜欢的吧。...

2020-01-20 11:25:16 18855 5

原创 vscode c++ 保存时进行代码格式化

vscode是很好的编辑器,一般需要保存时进行代码格式化。一般需要如下配置//需要保存时进行格式化"editor.formatOnSave": true,//需要配置tab对应的空格键时"editor.insertSpaces": true,"editor.tabSize": 4,"editor.detectIndentation": false,//用astyle进行c++代码格...

2019-08-25 15:15:02 1864

原创 如何对docker container 的日志 做 logrotate

docker container 会产生很多日志,通常的标准日志( /dev/stdout, /dev/stderr),docker 在运行的过程中就会产生很多,它们一般会以如下的方式命名,并写到这些文件里,比如:/var/lib/docker/containers/[CONTAINER ID]/[CONTAINER_ID]-json.log所以我们需要开启logrotate功能,否则就等着主...

2019-03-28 15:43:27 6314 3

原创 k8s Networkpolicy 多规则ipblock+port同时匹配测试

与egress为例,我们想要测试的是172.17.197.252网段的1234 TCP端口通以及172.16.247.58/24段的80TCP端口可以出去,其它不通测试的目的:1、验证是否ipblock+port同时满足时,才通。2、可以在networkpolicy中添加多条egress的ipblock+port区段,且不会聚合,即不会说172.17.197.252网段的80 TCP端口也可...

2019-02-26 18:29:39 2794

原创 git log 乱码解决方法

先看下 LANG 环境变量是否为统一字符编码: $ echo $LANG; 输出结果为空 执行export LANG="zh_CN.UTF-8"命令,问题能否解决?如果不能,再试下修改 git configgit config --global i18n.commitencoding utf-8git config --global i18n.logoutputencoding ...

2018-06-30 11:22:36 12429

原创 解决 keepalived vip 不可用故障

这里演示一个 keepalived vip 有时可用,有时不可用的情况。背景:集群中有两个 vip,一个用于 apiserver,一个用于 ingress。现象:刚部署的时候,apiserver vip 和 ingress vip都跑通了,即可以 ping 通,过了几天发现其中一个不通了。-[root@k8s-node-1 appuser]# ping 10.130...

2018-06-27 11:12:06 15034

原创 k8s 如何关联pvc到特定的pv?

如何关联pvc到特定的pv?我们可以使用对 pv 打 label 的方式,具体如下:创建 pv,指定 label-[appuser@chenqiang-dev pvtest]$ cat nfs-pv2.yaml apiVersion: v1kind: PersistentVolumemetadata: name: nfs-pv2 namespace: chenqian...

2018-06-21 18:12:29 17487 6

原创 k8s 节点的 NodeAffinity 使用

在 k8s 中,pod 会通过 kube-scheduler 按照节占先有的资源平均的调度到这些节点上,但有时候,我们需要将某个应用的pod调度到特定的节点上, 比如:两个应用需要频繁的进行通讯,那么我们希望将它们部署到同一个节点。或者希望访问一些类似需要ssd这样特殊资源的节点等应用场景。最简单的方法是使用 nodeSelector,但它比较简单粗暴,使用起来不能灵活调度,这个在后续版本中...

2018-06-21 16:12:37 8030

原创 K8S NFS PV/PVC 使用实践

nfs 作为 k8s 的网络存储驱动,可以满足持久存储业务的需求,支持多节点读也写。 下面采用 k8s pv与pvc来配套使用nfs资源。 创建pv,并创建与之关联的pvc,如下:-[appuser@chenqiang-dev pvtest]$ kubectl get pvNAME CAPACITY ACCESS MODES RECLAIM POLICY...

2018-06-21 16:11:22 20766

原创 如何手动创建 k8s kubeconfig 文件以实现多环境切换

这篇文件简单介绍一下集群环境中如何配置kubectl,以及如何制作 kubeconfig 文件,以使用 kubectl config 来实现切换多种k8s环境,官方有相应的文档,这里简要介绍一下如何手动生成这个 config 文件。1、集群环境中如何配置kubectl (有集群登录权限)要实现 kubectl get no 这种以很少命令参数的方式获取到 k8s 集群信息,下面介绍一种...

2018-05-24 19:22:20 21658 3

原创 k8s https 认证部署配置相关总结

在创建pod时,经常会出现如下问题:E0522 15:22:33.202410 7 authentication.go:64] Unable to authenticate the request due to an error: [invalid bearer token, [invalid bearer token, crypto/rsa: verification error]]...

2018-05-22 21:15:51 11103

原创 calico 网络结合 k8s networkpolicy 实现租户隔离及部分租户下业务隔离

实现 namespace 之间多租户网络隔离我们经常需要按租户进行网络隔离,k8s 提供了 networkpolicy 来定义网络策略,从而实现网络隔离等。Network Policy 提供了基于策略的网络控制,用于隔离应用并减少攻击面。它使用标签选择器模拟传统的分段网络,并通过策略控制它们之间的流量以及来自外部的流量。但这个 networkpolicy 需要有第外方外接网络插件的支持,如Ca...

2018-05-21 12:46:57 5322

原创 Kubernetes v1.8.4 集群各组件加密认证功能的配置参考

记录 v1.8.4 的组件配置如下,经测试能完美地工作。这里 kube-apiserver 并没有做 HA ,先这个测试通过了,后面再做。ha 方面,只需要加上 haproxy+keepalived进行配置,使其以 <vip>:443的方式访问即可。haproxy负责负载转发, keepalived负责监控haproxy的ha。 haproxy和keepalived可以部署在三台master中的两

2017-12-08 10:41:32 1243

原创 容器云在万达的落地

大家晚上好!很荣幸在这里和大家分享一下万达的容器云落地经验。目前我在万达网络科技集团云公司负责 Kubernetes 与 Docker 的落地与实践工作。之前先后在 Intel、IBM 和爱奇艺工作过,在云计算领域长年搬砖,对 Mesos/Kubernetes/Docker 等有较深入的研究,希望有机会多多交流,下面开始分享。容器生态是现在非常火热的技术生态之一,个人认为它主要囊括着四个方面的技术栈

2017-09-22 10:45:51 942

原创 在mac, linux中为python的命令行补全

在mac和linux中为python的命令行进行补全。 具体只需要三个步骤,请按如下方法进行配置:1、vim ~/.pystartupimport sysimport readlineimport rlcompleterif sys.platform == 'darwin' and sys.version_info[0] == 2: readline.parse_and_bind("b

2017-09-01 16:54:14 1512

原创 python列表(list)和元组(tuple)浅析

列表(list)和元组(tuple)都是一种数据结构,python将这种数据结构统称为序列(sequence)。和序列对应的就是映射(map),还有一种不属于这两种那就是集合(set)。这三种其实都属于python的另一种数据结构,即容器(container)。也就是说,python的容器是一种通用的数据结构,包括上面所说的这三种数据结构,它是一种包含其他对象的对象。其中序列包含很多类型,常见的有l

2017-08-31 20:08:30 3975

原创 python字符串浅析

一说到字符串,不管哪门语言,其实会让人头痛的,因为它们有不同的用处,特别是在混用的时候,很容易脑子糊掉。 先看看有哪些字符串,普通的字符串就分为:单引号字符串,形如:str='123'双引号字符串,形如:str="123"还有其他非普通字符串:原始字符串,形如:str=r'123'unicode字符串,形如:str=u'123'长字符串,形如: >>> print '''this is

2017-08-29 16:16:00 610

原创 ssh-copy-id 的使用方法

服务器时常需要配置无密码的登录方式,最一般的设置方式如下:# ssh-keygen# cat ~/.ssh/id_rsa.pub | ssh user@server "cat - >> ~/.ssh/authorized_keys"其实这方法已经很简单了,不过我总记不清如何正确拼写authorized_keys这个文件名。还好Linux系统里缺省都包含一个名为ssh-copy-id的工具:# ty

2017-05-06 11:19:27 5747

原创 如何保证 docker daemon重启,但容器不重启

使用新版本的docker, 比如 1.12.6然后在/etc/docker/daemon.json中添加"live-restore": true选项,比如:{ "log-level": "warn", "selinux-enabled": false, "insecure-registries": [ "10.213.42.254:10500",

2017-05-02 16:27:18 14387

转载 vim设置golang语法高亮 (Centos)

Go语言自带vim 的语法高亮文件。 http://www.golangtc.com/download 下载 go1.3.3.src.tar.gzgo1.3.3 (source only),解压缩 移动到/usr/local/ 1: 开启vim语法高亮vim ~/.vimrc syntax on set fencs=utf-8,gbk2:将/usr/local/go/misc/vim/

2017-04-26 14:58:29 2001

原创 Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed

解决办法:# systemctl stop docker.service# thin_check /var/lib/docker/devicemapper/devicemapper/metadata如果还有问题,则:# thin_check --clear-needs-check-flag /var/lib/docker/devicemapper/devicemapper/metadata# s

2017-04-12 09:58:45 4114

原创 Please supply the message using either -m or -F option.

在mac中,如果使用 git commit –amend,会出现如下错误:error: There was a problem with the editor ‘vi’. Please supply the message using either -m or -F option.原因是vi有问题,需要为 git 换一个默认的编辑器,比如 vim,如下进行配置即正常了。git config --g

2017-03-30 20:36:30 3380

原创 sudo: Sorry, you must have a tty to run sudo Error on a Linux and Unix

通过运行visudo ,找到Defaults requiretty,并注释掉,即可解决。

2017-03-30 14:33:35 436

转载 vim plugins (vim 插件) 工具集

fuzzyfinder.vim 可以替代四个插件, 不过这个插件也不是完美的,比如和favex.vim相比,它的收藏夹缺少对目录的支持和selectbuf.vim相比,它少了对多个buf的批量选择和处理 mru.vim -> fuzzyfinder.vim:FuzzyFinderMruFile favex.vim -> fuzzyfinder.vim:FuzzyFinderFavFile s

2017-03-07 19:44:24 653

转载 OmniGraffle v6 注册码

Omnigraffle Pro 6Name: mojado Serial: JYFE-JRJN-GSOT-GRAG-EVJI-TEFE-VJIName: [email protected] Serial: IZAH-IRLI-EFDI-XAEM-JBJJ-JEFJ-BJJName: [email protected] Serial: EMIP-OSMG-CSJU-ZZBL-INXY-TEFI-NXYNa

2017-02-23 17:03:06 490

原创 mac中打开隐藏的文件

打开mac控制端执行如下命令:defaults write com.apple.Finder AppleShowAllFiles TRUE然后重启生效:killall Finder如果需要关闭,则设置为 FALSE,如下:defaults write com.apple.Finder AppleShowAllFiles FALSE

2017-02-22 18:22:37 441

原创 zmodem transfer canceled by remote side

单纯的执行 rz xx_file 一般不会有什么问题, 但是如果碰到传输文件中有控制字符等即会出现 zmodem transfer canceled by remote side 错误,解决方法是: 使用 rz -e 命令即可。

2017-02-17 19:40:26 1182

原创 lsblk 命令使用

lsblk 默认是树形方式显示:$lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 2.7T 0 disk ├─sda1 8:1 0 1.3M 0 part ├─sda2 8:2 0 400M 0 part /boot├─sda3 8:3 0 390.6G 0

2017-02-17 17:22:47 7597

转载 df 命令结果显示的 Size 不等于 Avail + Used

[root@dmdb2 log]# df -h Filesystem Size Used Avail Use% Mounted on /dev/cciss/c0d0p1 9.7G 538M 8.7G 6% / /dev/cciss/c0d0p6 503G 35G 442G 8% /opt /dev/cciss/c0d0p5 9

2017-02-03 15:37:44 1296

转载 yum upgrade和yum update的区别

Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的:yum -y update升级所有包同时也升级软件和系统内核yum -y upgrade只升级所有包,不升级软件和系统内核实验分别测试 yum -y upgrade和yum -y update升级前系统版本: centos5.5 内核版本: 2.6.18-194.el5 升级前做过简单配置

2017-01-09 15:58:42 16492

R语言实战超清版

R语言实战超清版,基础学习必备基础

2017-08-30

程序设计方法学讲稿(华东师范大学)

最经典的《程序设计方法学》讲稿,由华东师范大学计算机系编著。

2009-09-28

文登数学讲义.pdf

09年最新文登数学讲义,看过后数学包过100分.

2008-10-30

最新2009时政.pdf

最新2009时政,让你轻松政治过80分(非常好记!).

2008-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除