Nginx反向代理

示例

Continue reading “Nginx反向代理”

Kubernetes之kubectl常用命令

官方文档:http://docs.kubernetes.org.cn/683.html

1. Help

类似于所有的命令行工具工具,kubectl也可以直接执行或 | 可获得命令的帮助信息。如下图所示,kubectl使用方式为:

另外所有的命令选项都可以通过执行 –help获得特定命令的帮助信息。 

Continue reading “Kubernetes之kubectl常用命令”

ProtoBuf安装及使用

ProtoBuf: 是一套完整的 IDL(接口描述语言),出自Google,基于 C 进行的实现,开发人员可以根据 ProtoBuf 的语言规范生成多种编程语言(Golang、Python、Java 等)的接口代码,本篇只讲述 Golang 的基础操作。据说 ProtoBuf 所生成的二进制文件在存储效率上比 XML 高 3~10 倍,并且处理性能高 1~2 个数量级,这也是选择 ProtoBuf 作为序列化方案的一个重要因素之一。 Continue reading “ProtoBuf安装及使用”

安装gRPC运行环境

安装官方安装命令:

是安装不起的,会报:

原因是这个代码已经转移到github上面了,但是代码里面的包依赖还是没有修改,还是 google.golang.org 这种地址,

所以不能使用go get的方式安装,正确的安装方式:

Continue reading “安装gRPC运行环境”

Kubernetes通过ConfigMap构建“配置管理中心”

我们知道,在几乎所有的应用开发中,都会涉及到配置文件的变更,比如说在web的程序中,需要连接数据库,缓存甚至是队列等等。而我们的一个应用程序从写第一行代码开始,要经历开发环境、测试环境、预发布环境只到最终的线上环境。而每一个环境都要定义其独立的各种配置。如果我们不能很好的管理这些配置文件,你的运维工作将顿时变的无比的繁琐。为此业内的一些大公司专门开发了自己的一套配置管理中心,如360的Qcon,百度的disconf等。kubernetes也提供了自己的一套方案,即ConfigMap。kubernetes通过ConfigMap来实现对容器中应用的配置管理。 Continue reading “Kubernetes通过ConfigMap构建“配置管理中心””

Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress

ClusterIP

官方文档:https://kubernetes.io/docs/concepts/services-networking/service/

ClusterIP 服务是 Kubernetes 的默认服务。它给你一个集群内的服务,集群内的其它应用都可以访问该服务。集群外部无法访问它。

ClusterIP 服务的 YAML 文件类似如下:

如果 从Internet 没法访问 ClusterIP 服务,那么我们为什么要讨论它呢?那是因为我们可以通过 Kubernetes 的 proxy 模式来访问该服务!

启动 Kubernetes proxy 模式:

这样你可以通过Kubernetes API,使用如下模式来访问这个服务:

要访问我们上面定义的服务,你可以使用如下地址:

何时使用这种方式?

有一些场景下,你得使用 Kubernetes 的 proxy 模式来访问你的服务:

  • 由于某些原因,你需要调试你的服务,或者需要直接通过笔记本电脑去访问它们。
  • 容许内部通信,展示内部仪表盘等。

这种方式要求我们运行 kubectl 作为一个未认证的用户,因此我们不能用这种方式把服务暴露到 internet 或者在生产环境使用。 Continue reading “Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress”

在kubernets中不同命名空间的服务相互访问

涉及到的是Pod和Service之间的相互访问,主要格式如下:

详细请参考官方文档:https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/

Continue reading “在kubernets中不同命名空间的服务相互访问”

docker build过程中DNS失效问题解决

该问题是在我使用alpine的apk安装相关软件时发现的,无论如何也无法访问第三方网站,同样在ubuntu中也是如此。

不仅仅是docker build过程中存在DNS解析问题,其实默认在docker运行时,在docker内部也无法和宿主机共享DNS解析服务。

解决方案如下:

Continue reading “docker build过程中DNS失效问题解决”