
go
文章平均质量分 62
流泪的鱼
专注容器云计算
展开
-
优快云多项目代码管理提交
我在code.youkuaiyun.com中已经有一个项目了为testchat我在code.youkuaiyun.com中又创建了一个项目为datastruct,在设置公钥时使用与第一个项目testchat相同的公钥时,根本保存不了。但如果新生产公钥的话必须使用默认的名称id_rsa,则与第一个项目中的同名重复。我需要备份,然后新生产默认名称的key再做代码更新与提交但这样来回备份切换key很麻烦,有没有一种原创 2015-01-14 11:53:03 · 1256 阅读 · 2 评论 -
Dashboard部署
Dashboard部署Dashboard所需要的部署文件位于下载文件解压后的kubernetes/cluster/addons/dashboard目录下如果不能翻墙,则将dashboard-controller.yaml中的image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.0修改为shenshouer/kubernetes原创 2016-10-28 15:54:09 · 2731 阅读 · 0 评论 -
配置远程工具访问kubernetes集群
配置远程工具访问kubernetes集群因为本人使用mac本,一下所有操作基于MacOS进行,其他操作系统基本类似安装与设置kubectl为了在kubernetes集群中管理与发布应用,将要使用到kubernetes的命令行工具。此工具可以使你审查集群资源,创建、删除与更新组件还有更多其他的操作。安装kubectl如果下载了kubernetes的发布包,命令行工具位于platforms/<os>/<原创 2016-10-28 22:32:55 · 8732 阅读 · 2 评论 -
[小技巧]golang 通过exec Command启动的进程如何关闭的解决办法
在用exec包调用的其他进程后如何关闭结束,可以使用context包的机制进行管理,context包的使用详见:https://godoc.org/context exec.CommandContext方发实现了context,通过context可以对exec启动的进程结束。隐藏程序自身黑窗口的方法:go build -ldflags="-H windows"隐藏子进程黑窗口的方法:cmd.Sys转载 2016-10-31 09:44:44 · 12877 阅读 · 0 评论 -
kubernetes 资源监控
kubernetes 资源监控kubernetes监控有多种方式,本章节介绍的为heapster独立版本,因为此种部署方式与dashborad结合比较紧密。heapster独立服务部署未部署监控前dashborad的node监控显示如下:heapster-controller.yaml:apiVersion: extensions/v1beta1kind: Deploymentmetadata:原创 2016-10-31 16:20:58 · 6201 阅读 · 2 评论 -
怎么使用golang的channel做广播
怎么使用golang的channel做广播使用golang中的channel做广播需要使用到golang并发模式中的扇出模式,也就是说多个接入点监听一个输入源。这种模式的结果是,只要输入源输入一个消息,任何一个监听者都能获取到这个消息。这里仅有一个例外就是channel关闭。这个关闭将所有监听者都关闭,这就是扇出模式。删除模式简单定义为:多个函数可以从同一个channel读取数据,直到这个chann原创 2016-11-29 22:39:35 · 9839 阅读 · 0 评论 -
Harbor部署
Harbor部署原创 2016-11-29 11:20:38 · 4573 阅读 · 0 评论 -
本地服务方式搭建etcd集群
本地服务方式搭建etcd集群IP原创 2017-02-14 10:44:55 · 5829 阅读 · 2 评论 -
安装k8s Master高可用集群
安装k8s Master高可用集群 主机 角色 组件 172.18.6.101 K8S Master Kubelet,kubectl,cni,etcd 172.18.6.102 K8S Master Kubelet,kubectl,cni,etcd 172.18.6.103 K8S Master Kubelet,kubectl,cni,etcd 17原创 2017-02-14 11:01:12 · 9248 阅读 · 1 评论 -
linuxkit试玩
linuxkit试玩Docker在DockerCon 2017大会上发布了一个自己的操作系统,宣称LinuxKit,安全,精简,强移植性。项目地址:https://github.com/linuxkit/linuxkit。博客地址:https://blog.docker.com/2017/04/introducing-linuxkit-container-os-toolkit/本次我在MacO原创 2017-04-20 00:26:51 · 6318 阅读 · 2 评论 -
全面解读Moby和LinuxKit,Docker称沟通不善招致误解
开源圈的一股怒火这段时间,开源圈子有一股怒火, Docker公司发表声明称会将原有的Docker开源项目停掉,另起炉灶开了Moby项目。这番声明居然的正面反馈(280票)和负面反馈(1198),好评率居然仅有18.9%。大家纷纷谴责“Docker直接把原Docker项目改名成Moby,开源突然商业化”的行为。而另一方面,Docker公司又在解释:Moby并不是Doc转载 2017-05-04 09:12:53 · 2125 阅读 · 0 评论 -
Golang应用的多场景Dockerfile
Golang应用的多场景Dockerfile一般通用的在Docker中编译Golang应用的方法需要2个Dockerfile——一个用于平台编译,另一个用于打包第一个镜像中编译的不包含工具的结果。这个叫编译模式。自从Dockerv17.05版本后可以通过单个Dockerfile文件来使用多场景构建。应用开始一个”Hello World”应用:package mainimport "fmt"func翻译 2017-05-05 10:01:59 · 2669 阅读 · 0 评论 -
Golang Concurrency Tricks
Golang Concurrency TricksGolang concurrency model based on goroutines and channels is not free from sharp edges.This page intends both (1) to collect helpful guidelines for writing concurrent code转载 2017-07-07 09:53:44 · 549 阅读 · 0 评论 -
Go 1.9 新特性 Type Alias 详解
北京时间2017.08.25,Go1.9正式版发布了。Go1.9经历了2个beta,好几个月,终于定了,发布了正式版本。Go 1.9包含了很多改变,比如类型别名Type Alias,安全并发Map,并行编译等,都是很大的改变,今天这篇文章主要介绍类型别名 Type Alias。安装go 1.9很多众所周知的原因,大家可能无法下载最新的go 1.9 sdk,如果你没有梯子,可以到我自转载 2017-08-29 15:02:30 · 4555 阅读 · 1 评论 -
tekton试用
这里写自定义目录标题介绍部署修改依赖镜像安装示例任务的输入定义任务输出定义镜像仓库认证创建secret创建serviceaccount定义Task定义TaskRun完整的yaml执行示例介绍谷歌开源了一个 Kubernetes 原生 CI/CD 构建框架——TektonTekton 是一个功能强大且灵活的 Kubernetes 原生框架,用于创建 CI/CD 系统。通过抽象出底层实现细节,...原创 2019-04-16 15:45:07 · 7317 阅读 · 3 评论 -
使用contexts来避免goroutines泄露
使用contexts来避免goroutines泄露context包通过context的Done通道(channel)使得管理在同一个调用路径下的链条式调用变成了可能。在本文中,将审查怎么使用context包来避免goroutines的泄露。假定有一个启用一个内部goroutine的函数。一旦调用此函数,调用者就可能无法终止这个函数启动的goroutine。// gen is a broken gen翻译 2016-10-28 14:57:17 · 726 阅读 · 0 评论 -
以HTTPS的方式运行docker
以HTTPS的方式运行docker保护Docker daemon socket默认情况下,Docker以一种无网络的Unix socket方式运行。也可以通过选项设置使用HTTPsocket。如果需要通过网络以一种安全的方式访问Docker,可以通过tlsverify标签来允许TLS,使用tlscacert标签指定可信的CA证书。在后台守护模式中,仅运行通过CA签名的证书的客户端连接访问。在客户端模翻译 2016-11-08 14:16:14 · 4815 阅读 · 0 评论 -
开始试用docker的swarm模式
开始试用docker的swarm模式docker 1.12以及之后的版本集成了swarmkit等编排服务,现在docker的版本为1.12-rc2版本。本文来尝试试用此种模式建立原生的docker集群本文将包含如下几点:在swarm模式下初始化一个docker引擎的集群添加节点至swarm中发布一个应用服务到swarm中当运行起来之后进行swarm管理设置尝试本例子需要如下几点要求:三台原创 2016-06-21 15:05:15 · 19590 阅读 · 7 评论 -
优快云中项目创建及本地代码提交
一、创建项目1、进入到code.youkuaiyun.com的个人中心,如本人的为:https://code.youkuaiyun.com/shenshouer2、点击创建项目,填写项目名称,如:本次试验中我的项目名为:testchat,并填写相关信息。3、进入到创建项目界面,会看到有一个git 代码提交及下载的url地址:如:git@code.youkuaiyun.com:shenshouer/testchat.git原创 2015-01-14 11:37:31 · 2701 阅读 · 0 评论 -
golang实现的私聊服务
一个简单的golang实现的私聊,由服务器端决定两两匹配 服务器端 chat_server.gopackage mainimport ( "fmt" "io" "log" "net")const listenAddr = "localhost:4000"func main() { l, err := net.Listen("tcp", listenAd原创 2015-05-24 10:53:58 · 1976 阅读 · 0 评论 -
golang自定义数据类型查询与插入postgresql中point数据
golang自定义数据类型查询与插入postgresql中point数据具体代码如下:package mainimport ( "bytes" "database/sql" "database/sql/driver" "fmt" _ "github.com/lib/pq" "strconv" "strings")// 自定义支持类型type原创 2015-07-05 18:05:23 · 4186 阅读 · 0 评论 -
Go 编程语言规范(2014年11月11日版本)
转自http://ilovers.sinaapp.com/doc/golang-specification.htmlGo 编程语言规范2014年11月11日版本简介记号源代码表示字符字母和数字词法元素注释符号分号标识符关键字操作符/运算符和分隔符整型值浮点值虚数值分符值字符串值常量类型转载 2015-10-08 17:01:13 · 2530 阅读 · 0 评论 -
基于Vagrant CoreOS的kubernetes一键部署
本地环境要求 vagrant 1.7 virtualbox 5.0部署支持的kubernetes集群一键部署,集成dns服务结构: 主机 作用 服务 e1 etcd服务 etcd2 c1 kubernetes控制机器 kubelet、(proxy、apiserver、kube-scheduler、podMaster)容器 w1 kubernete原创 2015-09-23 18:18:36 · 4286 阅读 · 0 评论 -
基于Docker部署codis
基于Docker部署codis本文章简单介绍基于docker来部署codis.关于codis相关资料请查看 github codis项目 codis中文手册目录文章基于github官方部署顺序进行基于Docker部署codis目录启动zookeeper服务部署dashboard初始化 slots启动 Redis数据库添加 Redis Server Group设置 server gr原创 2015-09-20 13:12:17 · 3084 阅读 · 3 评论 -
部署Tectonic服务到kubernetes集群
前提条件已经部署完成并可运行kubernetes集群,如果没有请参考基于Vagrant CoreOS的kubernetes一键部署 需要注册Tectonic账号时提供的tectonic-license. 目前处于技术预览版,所有注册与使用都是免费的,但注册是必须提供信用卡信息。不会扣钱,当正式版本出来后会有通知,也不会直接扣款。注册地址,注册完成之后,官方将提供一个tectonic-preview原创 2015-09-24 11:05:38 · 3039 阅读 · 0 评论 -
Kubernetes集群搭建与测试
近期正在做kubernetes的测试,目前进展到了做master的高可用。文档后续会补充。原创 2015-09-08 10:12:08 · 2041 阅读 · 0 评论 -
Kubernetes基础概念
Kubernetes基础概念什么是KubernetesKubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下:使用Docker对应用程序包装(package)、实例化(instantiate)、运行(run)。以集群的方式运行、管理跨机器的容器。解决Docker跨机器容器之间的原创 2015-10-12 14:45:22 · 1862 阅读 · 0 评论 -
golang ftp客户端示例 支持断点续传
package mainimport ( ftp4go "github.com/shenshouer/ftp4go" "fmt" "os")var( downloadFileName = "DockerToolbox-1.8.2a.pkg" BASE_FTP_PATH = "/home/bob/"原创 2015-10-29 18:00:58 · 2941 阅读 · 0 评论 -
Calico Docker整合使用
一、使用vagrant创建coreos虚拟机(vagrant virtual box vagrant-scp plugin)Vagranfile内容如下:# -*- mode: ruby -*-# # vi: set ft=ruby :require 'fileutils'require 'open-uri'require 'tempfile'require 'yaml'Vagrant.re原创 2016-02-01 19:14:17 · 3895 阅读 · 0 评论 -
swarm集群搭建
swarm集群搭建环境准备coreos alpha 928.0.0vagrantvirtualbox配置synced_folders.yaml:- name: default source: . destination: /vagrant nfs: true mount_options: 'nolock,vers=3,udp,noatime' disabled:原创 2016-02-16 12:28:32 · 1489 阅读 · 0 评论 -
Docker发布集群工具SwarmKit
转自infoq最近Docker公司开源了Docker集群管理和容器编排工具SwarmKit,其主要功能包括节点发现、基于raft算法的一致性和任务调度等。基本概念服务器上运行SwarmKit工具的swarmd命令后,即可将其加入到服务器集群中,该服务器就成为集群中的一个节点。SwarmKit将节点分为两类:工作节点 负责通过执行器运行任务。SwarmKit的默认执行器为Docker容器执行器(D转载 2016-06-16 10:08:22 · 959 阅读 · 0 评论 -
swarmkit rest api包
https://github.com/shenshouer/swarmkit-client原创 2016-06-20 17:28:40 · 930 阅读 · 0 评论 -
kaniko试用
kaniko介绍官网:https://github.com/GoogleContainerTools/kaniko参考:http://dockone.io:82/article/4933与Jenkins对比:https://yq.aliyun.com/ask/494251/?order=vote_num&p=1在K8S中运行apiVersion: v1kind: Secret...原创 2019-04-16 19:26:58 · 3805 阅读 · 0 评论