
docker k8s
文章平均质量分 73
与运维 环境搭建有关
dz45693
我是一个软件开发人员,有较强的责任心,是一个典型的技术爱好者。在此希望能认识更多好朋友。
展开
-
K8S Calico网络插件
0.前言参考文档:https://github.com/containernetworking/cniPod网络插件,为了实现Pod网络而需要的插件、组件。由于Kubernetes通过开放的CNI接口来允许插件的接入,所以它又称之为CNI网络插件。为了解决跨主机容器间通信问题,市面上存在很多解决方案,为了兼容和规范这些解决方案,Kubernetes仅设计了网络模型,却将Pod网络的实现交给了CNI网络插件,并允许网络插件通过标准的CNI(Container Network Interface,容器网转载 2022-05-25 11:06:36 · 12630 阅读 · 2 评论 -
Go websocket 聊天室demo以及k8s 部署
本来打算练习go websocket 做一个示例,结果在网上找了一个聊天室的示例【Go websocket 聊天室的详细实现和详细分析_上官二狗的博客-优快云博客_go websocket 聊天室】,感觉不错就拿来用一下。介绍首先需要有一个客户端 client 的 manager ,manager 里应该保存所有的client 信息所以在我们的程序里定义了 ClientManager 这个结构体用 clients 这个 map 结构来保存所有的连接信息遍历 clients 通过使用 bro.原创 2022-01-09 09:32:28 · 2928 阅读 · 0 评论 -
rocketmq事务 go 采用rocketmq-client-go的实现
用docker安装rocketMq#需要创建文件夹/docker/namesrv/logs/docker/namesrv/store/docker/rocketmq/logs/docker/rocketmq/store#需要创建文件/docker/rocketmq/broker.conf文件内容如下:brokerClusterName = DefaultClusterbrokerName = broker-abrokerId = 0deleteWhen = 04fileRes原创 2021-04-18 08:16:00 · 3126 阅读 · 0 评论 -
iris和xxl-job整合
在以前的文章中go任务调器gocron和xxl-job 尝试xxl和gin的整合,由于项目统一用iris 所以需要研究出如何与iris整合, 直接上代码:package mainimport ( "context" "fmt" "log" "github.com/kataras/iris/v12" "github.com/xxl-job/xxl-job-executor-go")func main() { exec := xxl.NewExecutor( xxl.Serv原创 2021-04-20 23:07:41 · 1696 阅读 · 0 评论 -
Go Grpc部署到 k8s【端口共享】
书接上文Go Grpc部署到 k8s【负载均衡】grpc server端我们暴露了9090和8080端口,这次我们的http服务用iris,并且绑定到9090端口。GO文件服务端代码main.go:package mainimport ( "context" "fmt" pb "grpcdemo/protos" "net" "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/middleware/logger.原创 2021-04-18 11:14:18 · 2098 阅读 · 0 评论 -
K8S 上部署 jenkins[go的持续集成]
这里 jenkins 使用的存储为 NFS安装 nfs 工具yum install nfs-common nfs-utils -y showmount -e 192.168.52.174# 运行结果Export list for 192.168.52.174:/nfs/jenkins *创建 nfs-client-provisioner deploymentcat nfs-client-provisioner.yaml kind: DeploymentapiV...原创 2021-03-07 01:27:31 · 2285 阅读 · 0 评论 -
Go Grpc部署到 k8s【负载均衡】
网上关于grpc的服务发现和负载均衡很多是是用consul,我这里尝试用nacos来做试验吧,关于grpc的负载均衡 网上有很多说的 head less 【修改 Service 的 spec.clusterIP 为 ”None“】, 当然还有nginx-ingress-controller ,我实验过 都不怎么理想 索性自己从零开始.项目结构如下:nacos里面的nacos.go 如下:package nacosimport ( "net" "github.com/naco.原创 2021-04-07 13:02:37 · 4093 阅读 · 1 评论 -
ubuntu18安装Kubernetes 1.20.5
在以前的文章 Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装 和 Centos 使用kubeadm安装Kubernetes 1.15.3,由于某些原因需要更新版本,索性直接安装最新的版本来试一下。Install 1.安装并启用 Dockersudo apt install docker.iosudo systemctl enable dockerdocker --version2.添加Kubernetessigning key和Rep...原创 2021-04-04 21:47:49 · 2333 阅读 · 0 评论 -
k8s Python API
主要使用https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/这个说明, 一般主要是创建pod 和svc,以及更新pod,直接上代码如下:from kubernetes import client, configfrom kubernetes.client.rest import ApiExceptiondef main(): #可以用以下命令把token 放到一个 文件中 # Token.原创 2021-04-03 20:12:22 · 3001 阅读 · 0 评论 -
go nacos服务发现
本来想研究一下nacos的服务发现,原来sample这么详细啊,直接运行代码吧:package mainimport ( "fmt" "time" "github.com/nacos-group/nacos-sdk-go/clients" "github.com/nacos-group/nacos-sdk-go/clients/naming_client" "github.com/nacos-group/nacos-sdk-go/common/constant" "github.co原创 2021-03-31 22:25:33 · 2555 阅读 · 0 评论 -
Filebeat 收集K8S 日志,生产环境实践
根据生产环境要求,需要采集K8S Pod 日志,和开发协商之后,Pod中应用会将日志输出到容器终端上,这时可以直接用filebeat 采集node节点上面的/var/log/containers/*.log日志,然后将日志输出到kafka消息队列中,经过kafka将日志写入logstash进行格式化,然后由logstash传入elasticsearch存储,然后kibana会连接elasticsearch展示索引数据。数据传输流程:Pod ->/var/log/containers/*.log..转载 2021-03-24 15:46:07 · 6883 阅读 · 0 评论 -
k8s集群日志收集ELK和Graylog
使用ELK+Filebeat架构,还需要明确Filebeat采集K8S集群日志的方式。方式1:Node级日志代理在每个节点(即宿主机)上可以独立运行一个Node级日志代理,通常的实现方式为DaemonSet。用户应用只需要将日志写到标准输出,Docker 的日志驱动会将每个容器的标准输出收集并写入到主机文件系统,这样Node级日志代理就可以将日志统一收集并上传。另外,可以使用K8S的logrotate或Docker 的log-opt 选项负责日志的轮转。Docker默认的日志驱动(LogDri原创 2021-03-21 17:27:44 · 3735 阅读 · 3 评论 -
k8s部署tidb4.0集群和监控
书接上文K8S 的 Volume[本地磁盘] ,这里我用上文创建的Provisioner来运行tidb数据库。我自己的k8s有helm和持久化存储,直接开干准备:1.、安装 helm 客户端(master 节点 我本机有了旧版本 这里没有更新,新旧版本后面命令有点不同)wget -c https://get.helm.sh/helm-v3.4.2-linux-amd64.tar.gztar -xf helm-v3.4.2-linux-amd64.tar.gzcd linux-amd64/.原创 2021-03-19 09:46:36 · 3347 阅读 · 0 评论 -
K8S 的 Volume[本地磁盘]
K8S 有很多 Volume 类型,详细信息可以查看官网https://kubernetes.io/docs/concepts/storage/volumes/#types-of-volumes;这里只介绍几种:emptyDir,local,hostPath,nfs,secret,configMapemptyDir初始化为空目录,只在 Pod 运行时存在,当 Pod 停止或死掉后,目录下的所有数据都会被删除(如果只是 Container 死掉数据不会被删除),可以被同一个 Pod 下的不同 Cont原创 2021-03-18 08:30:59 · 4083 阅读 · 0 评论 -
Ubuntu 18 Docker run出现no space left on device错误的解决
docker 容器运行了一段 时间 突然启动不了,查看docker容器日志提示: no space left on device.检查Docker Root Dir,命令执行: docker info我这里是: Docker Root Dir: /var/lib/docker查看空间使用情况: df -h /var/lib/docker/注意结果中出现的"ubuntu–vg-ubuntu–lv",看到空间已经接近满了,下一步扩容:查看可分配空间: sudo vgdisplay#扩...原创 2021-03-06 19:20:44 · 1751 阅读 · 0 评论 -
git+ jenkins+harbor+k8s(kubernetes) 实现自动化部署
系统环境:centos 7git:gitee.com 当然随便一个git服务端都行jenkins: lts版本,部署在服务器上,没有通过部署在k8s集群中harbor: offline版本,用来存储docker镜像Kubernetes 集群为了方便快捷,使用了kubeadm方式搭建,是三台,并且启用了IPVS,具体服务器用途说明如下: HOSTNAME IP地址 服务器用途 master.test.cn 192.168.184.31 k8s-mas...转载 2021-03-01 21:30:52 · 3409 阅读 · 1 评论 -
ubuntu kubernetes中使用NFS创建pv_pvc
书接上文jenkins自动化部署go【docker+jenkins+go+gitlab+harbor】1 ,现在我们来看看k8s那边是怎么更新的。关于k8s的安装大家 可以参考Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装 和 Centos 使用kubeadm安装Kubernetes 1.15.3关于harbor 程序手动更新到k8s 参考 Windows docker k8s asp.net core...原创 2021-03-01 19:08:47 · 2949 阅读 · 1 评论 -
jenkins自动化部署go【docker+jenkins+go+gitlab+harbor+k8s】
首先说一下我的环境,首先准备一台ubuntu18.4虚拟机,安装docker, 然后用docker 安装gitlab[大家可以参考 Ubuntu Docker搭建GitLab以及常规配置使用] 和harbor【大家可以参考 Ubuntu18 安装搭建Harbor】,我尝试过通过docker来安装jenkins,jenkins容器里面在安装docker和harbor通信,但是后面还是遇到很多问题 不好解决, docker默认是无状态的 需要保存的数据都要挂在的虚拟机上, 比如jenkins里面下载的gola.原创 2021-03-01 10:05:15 · 2786 阅读 · 0 评论 -
docker+jenkins+github实现golang项目自动部署
本文jenkins部署golang项目流程jenkins服务拉取github上的项目 构建golang项目并生成docker镜像[jenkins调用的是宿主机上的docker环境,如何调用的,后面会说明] 启动golang项目的docker镜像docker的安装这里就不说了docker安装jenkinsMakefilerun: docker run \ -u root \ -d \ -p 8088:8080 \ -p 50000:50000 \ -e TZ="Asia/S转载 2021-02-28 12:14:35 · 5134 阅读 · 0 评论 -
Jenkins基于https的k8s配置和Gitlab
一、摘要jenkins 连接低版本的k8s时,不需要验证。但是新版本的启用了https和角色管理二、安装kubernetes插件登录jenkins,点击Manage Jenkins -->Manage Plugins --> 可选插件在搜索框中,输入关键字kubernetes勾选Kubernetes,点击直接安装等待几分钟,提示安装完成。点击安装完成后重启Jenkins(空闲时)提示正在重启中重新登录jenkins,返回首页。点击Ma...转载 2021-02-27 21:53:45 · 1994 阅读 · 0 评论 -
kubenetes1.16.0 安装helm报错与解决办法
今天尝试重新搭建以下k8s环境。2.14.x版本感觉坑比较多最后又返回1.15.xx;安装kubectl指定版本:sudo apt-get install -y kubelet=1.15.2-00 kubeadm=1.15.2-00 kubectl=1.15.2-00 --allow-downgrades1. 安装Helm客户端方式一:公有云环境可以使用官方安装脚本一键安装,只需要执行如下一条命令:curl https://raw.githubusercontent.com/helm/h转载 2021-02-27 19:52:04 · 2149 阅读 · 0 评论 -
docker 安装graylog
首先我的docker上已经有es和mongdb了,那么我的graylog希望用已有的es和mongo。docker pull graylog/graylog:3.3docker run \--link mongodb:mongo \--link es:elasticsearch \--name graylog \-p 9000:9000 \-p 12201:12201 -p 12201:12201/udp \-p 1514:1514 -p 1514:1514/udp -p 5044:5原创 2021-02-06 10:31:36 · 1541 阅读 · 0 评论 -
docker安装nacos
网上安装的说明很多,比较好一点是https://www.cnblogs.com/binz/p/12295346.html 和https://blog.youkuaiyun.com/u011374856/article/details/109204466, 我一般希望把配置和日志文件放到ubuntu物理机上,首先说说我的逻辑,1直接运行docker, 2.把docker里面的配置拷贝到ubuntu上,3重新云心新的实例首先还是准备数据库部分,sql地址:https://github.com/alibaba/naco.原创 2021-02-05 17:22:23 · 1409 阅读 · 0 评论 -
go学习笔记 beego 的部署【windows 和docker】
windows下部署在windows下和linux 下是一样的,windows 用bee pack -beGOOS=window 而linux 用 bee pack -beGOOS=linux -be GOARCH=amd64 ,通过bee创建的项目 默认是开发模式, 所以部署前需要修改 为runmode=prod, 这里我增加一个 配置website="demo" ,在default.go controller里面使用c.Data["Website"]=beego.AppConfig.St...原创 2021-01-01 14:56:11 · 1522 阅读 · 0 评论 -
Docker 简单部署 ElasticSearch【包括集群的搭建】
一、ElasticSearch是什么?Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析...原创 2019-12-24 10:34:40 · 2494 阅读 · 0 评论 -
.netcore docker noe4j
1.借用docker搭建noe4j环境docker pull neo4jdocker run -d --restart=always -p7474:7474 -p7687:7687 -v /root/docker/neo4j/data:/data -v /root/docker/neo4j/logs:/logs --env=NEO4J_AUTH=neo4j/password --n...原创 2019-09-11 13:55:30 · 2455 阅读 · 1 评论 -
Docker 下的Zookeeper以及.ne core 的分布式锁
单节点1.拉取镜像:docker pull zookeeper2.运行容器a.我的容器同一放在/root/docker下面,然后创建相应的目录和文件,mkdir zookeepercd zookeepermkdir datamkdir datalogmkdir confcd conftouch zoo.cfg其中zoo.cfg(这里是默认的主要延时怪哉文件)如下:...原创 2019-08-16 12:45:27 · 2584 阅读 · 0 评论 -
windows Docker Desktop 搭建mysql,mssql和redis服务
其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下1.首先是pull image ,docker pull mysql2.启动服务docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ncs123456# -d mysql可是这样确实启动起来了,但是用客服端...原创 2019-03-12 23:53:36 · 4541 阅读 · 0 评论 -
Centos Docker 安装 Apache Guacamole
经常在ubuntu上折腾,偶尔在centos来也来玩一把吧1.安装DOCKERcd /etc/yum.repos.dwget https://download.docker.com/linux/centos/docker-ce.repoyum install docker-ce -ysystemctl start dockersystemctl enable docker拉取...原创 2019-09-05 19:33:31 · 2843 阅读 · 0 评论 -
Ubuntu Docker搭建GitLab以及常规配置使用
安装启动实例1.首先创建一个目录用于存放配置sudo docker pull docker.io/gitlab/gitlab-cesudo mkdir -p /root/docker/gitlab/configsudo mkdir -p /root/docker/gitlab/logssudo mkdir -p /root/docker/gitlab/data2.运行实例(关于...原创 2019-09-03 12:55:24 · 3100 阅读 · 0 评论 -
Ubuntu18 安装搭建Harbor
1.安装docker-compose1.下载docker-compose的最新版本sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose2.为dock...原创 2019-07-20 18:46:31 · 4804 阅读 · 1 评论 -
ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana
inflxudb1.7.71.拉取最新的镜像docker pull influxdb2.运行实例:docker run -d --restart=always -p 8086:8086 -p 8083:8083 -p 2003:2003 -v /root/docker/influxdb/data/:/var/lib/influxdb/data -v /root/docke...原创 2019-07-18 13:48:27 · 2110 阅读 · 0 评论 -
ubuntu docker 搭建 mongodb,开启授权访问 redis,mysql mssql 备份还原
命令安装docker如果您想从Ubuntu存储库安装docker版本,则可以运行下面的apt命令。sudo apt install docker.io等到安装完成后,您可以启动Docker并使用systemctl命令将其添加到引导时间:systemctl start dockersystemctl enable docker您可能还想检查码头版本:docker --...原创 2019-07-04 18:43:35 · 2502 阅读 · 0 评论 -
ubuntu docker 下mongodb集群和分片
集群首先我们计划启动了三个mongo服务:master,salve,arbiter1.准备工作新建文件夹如图(每个文件夹下面有db和configdb文件夹):生成认证文件并修改权限openssl rand -base64 100 > /root/docker/mongo/keyfile0 --文件内容采base64编码,一共100个字符chmod 600 /roo...原创 2019-07-13 13:59:11 · 2034 阅读 · 0 评论 -
Docker & ASP.NET Core (3):发布镜像
上一篇文章最后有个问题,定制的镜像无法正常运行:这可能是由于无法找到要运行的dll引起的问题。之前的Dockerfile的文档我是按照微软的文档操作的。不过随后我还是查看了Docker的文档:https://docs.docker.com/engine/examples/dotnetcore/#why-build-aspnet-core现在的Dockerfile是:然后...转载 2019-01-31 10:46:05 · 1937 阅读 · 2 评论 -
Docker & ASP.NET Core (2):定制Docker镜像
Dockerfile在Docker的世界里,我们可以通过一个叫Dockerfile的文件来创建Docker镜像,随后可以运行容器。Dockerfile就是一个文本文件,里面写着一些指令。通过Docker Client,并使用docker build这个命令,docker build命令会读取该文件里面的指令,生成一层文件系统,然后就生产出了一个docker的镜像。Dockerfil...转载 2019-01-30 16:55:11 · 2025 阅读 · 0 评论 -
Docker & ASP.NET Core (1):把代码连接到容器
和这种蛋糕一样,Docker的容器和镜像也是使用类似的分层文件系统构建而成的。这样做的好处就是可以节省硬盘空间,也利于复用等等。因为Docker基于镜像创建容器的时候,其镜像是共享的;而且镜像里面的层如果已存在,也无需再下载。下面拉取一个mongodb的镜像,拉取的过程中可以看到:图中红框范围内的就是mongo镜像的不同分层,也就是镜像中的分层文件系统。然而这些镜像层是只读...转载 2019-01-30 15:29:42 · 1818 阅读 · 0 评论 -
Windows 10下Docker使用经验谈
最近一直在开发Apworks框架的案例代码,同时也在一起修复Apworks框架中的Bug和一些设计上的不足。遇到的一个普遍问题是,代码的调试过程需要依赖很多外部系统,比如MongoDB、PostgreSQL、RabbitMQ等。当然可以在本机逐一安装这些服务,然后对服务进行配置,使其满足自己开发调试的需要。这样做当然是没有问题的,只是比较麻烦。于是,我寻求docker的帮助,将服务全都运行在doc...转载 2019-01-30 11:45:29 · 2538 阅读 · 0 评论 -
Docker & ASP.NET Core (5):Docker Compose
Docker Compose简介Compose是一个用来定义和运行多容器Docker应用的工具。使用Compose的时候,你可以使用一个YAML文件来配置你应用的服务。然后根据配置,使用一个命令即可创建并运行所有的服务。使用Compose的时候通常分三步:使用Dockerfile定义你的环境 在docker-compose.yml文件里定义你的服务,这样就可以让他们在隔离的环境中一起...转载 2019-01-31 16:33:37 · 1945 阅读 · 0 评论 -
ubuntn18 docker zabbix+grafana安装和使用
在ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana我采用telegraf采集数据, 本文计划采用zabbix来才采集数据,仍然用grafana来展示数据(为了节约资源我把telegraf先停掉)sudo systemctl enable --now telegraf #添加到开机启动sudo systemctl...原创 2019-07-23 10:36:18 · 2514 阅读 · 0 评论