Ubuntu 14.04部署Kubernetes及可能遇到的问题

之前已经写过文章如何在Ubuntu 16.06等使用systemd的系统上面部署Kubernetes,正好使用的是非systemd系统的Ubuntu 14.04部署了一下Kubernetes,按照官方文档遇到了很多问题,总结了一下发出来,希望可以帮助到遇到同样问题的人。本文主要参考自Kubernetes官方文档《Manually Deploying Kubernetes on Ubuntu Nodes》,但因文档很久没有更新了,部署比较新的版本时会有很多问题,所以这里列一下部署步骤,并说明部署过程中可能遇到的问题及解决方案。NB:该部署方法只适用于Ubuntu 14.04等使用upstart的

WebSocket协议及Go中的用法

本文主要介绍WebSocket以及Websocket在Golang中的实现和使用。1. WebSocket是什么?这里先列两篇文章:《WebSocket 是什么原理?为什么可以实现持久连接?》,这个是知乎上的一篇文章,对于WebSocket讲的通俗易懂,建议先看一下。The WebSocket Protocol RFC6455,这个是WebSocket的RFC文档,所以内容非常全面(当然只涉及协议,不涉及具体实现),不过内容太多,如果是初次了解,可以挑自己感兴趣的看看。或者直接看我的文章。1.1 为什么会出现WebSocket在介绍WebSocket之前,我们先来了解一下为什么会出现WebSo

Go网络编程——Socket

以前主要使用的是Linux C网络编程,现在学习了Golang,就总结一下Go中的socket编程,本文基于Go 1.7.4,和socket相关的代码在go/src/net/net.go文件中。网络协议模型回顾我们先来简单回顾一下网络写协模型。说到网络协议一般就两个模型:概念意义上的OSI(Open Systems Interconnect)的七层协议和实际中使用的TCP/IP四层协议。OSI七层网络模型:从第一层到第七层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP四层网络模型:从第一层到第四层分别是:网络接口层、网间层、传输层、应用层。最后用一张图来结束回

systemd学习总结

现在越来越多的Linux发行版将init系统从upstart(or other)换成了systemd,当然systemd相比于旧的init系统更加灵活和高效,所以本文介绍一下systemd的常用命令。目前已经切换为systemd的常见发行版有:Ubuntu 15.04、Debian 8、CentOS 7、Fedora 15及其这些发行版的高版本。本文使用的是Ubuntu 16.04 LTS,用户为root,非root执行时需要加sudo.当然最全的文档还是man文档,所以细节可以查看man文档。本文主要包括三部分:systemctl常用命令,很多情况下我们会使用systemctl来管理自己的系

Ubuntu16.04手动部署Kubernetes(3)——Dashboard和KubeDNS部署

今天继续接着前文:《Ubuntu16.04手动部署Kubernetes(1)——Master和Node部署》《Ubuntu16.04手动部署Kubernetes(2)——Flannel网络部署》继续来部署Kubernetes。今天主要来部署Dashboard和KubeDNS,主要是后者。因为Kubernetes在每个Pod内都会起一个很小的“系统”容器pause-amd64:3.0来实现Pod内的网络,而这个容器默认会去从Google的Registry拉,但国内如果没有梯子访问不了。所以我pull了一个,传到了国内的镜像仓库,我们改下每个Node节点上的kubelet的配置,增加--pod_i

Ubuntu16.04手动部署Kubernetes(2)——Flannel网络部署

在《Ubuntu16.04手动部署Kubernetes(1)——Master和Node部署》一文中,我们已经介绍了Kubernetes的Master和Node的手动部署,而且最后执行kubectl get node也成功看到了一个Node节点。本文接着上文继续部署,这次要部署的是网络。回想一下,Kubernetes有一个非常重要的特性就是任意Pod间都可以通过网络进行彼此访问,不管这些Pod是否在同一个Node上面。Flannel介绍我们知道docker默认的网络模型是创建一个虚拟网桥docker0,然后没创建一个容器,就创建一个虚拟的veth pair,其中一端关联到docker0这个网桥上

Ubuntu16.04手动部署Kubernetes(1)——Master和Node部署

之前在《Kubernetes初体验》中我们使用Minikube快速体验了一把Kubernetes,然后在《Kubernetes架构及资源关系简单总结》一文中我们又简单介绍了Kubernetes的框架以及Kubernetes中的一些关键术语和概念,或者称之为资源、对象。本文主要讲Kubernetes的一种原始部署方式。Kubernetes从开发至今,其部署方式已经变得越来越简单。常见的有三种:最简单的就是使用Minikube方式。下载一个二进制文件即可拥有一个单机版的Kubernetes,而且支持各个平台。从源码安装。这种方式也是简单的进行一些配置,然后执行kube-up.sh就可以部署一个Ku

Golang http server代码原理学习

本文基于Go 1.7.1,所有列的Go标准库的代码均来自于go/src/net/http/server.go文件。代码列的有点多,感觉有点乱,但是感觉代码列不全对于想看代码的人又难受。好吧,其实是写的乱。看起来需要耐心...拨云见雾Go中要实现一个简单的Web server非常的简单:package main import ( "io" "log" "net/http" ) func main() { http.HandleFunc("/", HelloServer)
|