Archives : October-2019

更新日期:2019年07月10日
@IGNORECHANGE

在kubeadm初始化成功后,有一段输出:


# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config

对,复制到由kubectl的机器上,用于访问集群。

3.1. Listing Resources

查看所有的PODS:kubectl get pods

查看所有的服务[……]

Read more

更新日期:2019年07月10日

需要具备的知识:Git、GitHub、Go

#1 获取帮助

Docker社区

https://forums.docker.com/

使用IRC频道

#docker,讨论用户求助及基本的Docker文件。聊天记录:https://botbot.me/freenode/docker/

#docker-dev,开发者相关的问题。聊天记录:https://botbot.me/freenode/docker-dev/

都在Freenode IRC网络上。

在GitHub上

关注Docker仓库:https://github[……]

Read more

更新日期:2019年07月10日

#01 检查Docker是否正常运行

使用docker info命令产看容器信息、检查容器是否正常运行:

#!/bin/sh

docker info

# 该命令返回容器概述、镜像概述、执行驱动、存储驱动、基本配置

#02 运行第一个容器

使用docker run命令来运行容器。实际上,它执行了容器的创建和容器的启动:

#!/bin/sh

docker run -i -t ubuntu /bin/bash

#03 使用第一个容器

容器相当与一个操作系统,一个“完整”的操作系统。

如果退出,则容器会停止运[……]

Read more

更新日期:2019年08月06日

内容简介

在一些旧的Docker文档中,经常会提到Docker 1.x版本,而另外一些文档是Docker 17.x版本,但是确没有Docker 4.x……Docker 9.x……Docker 16.x等等版本。为什么会这个样子呢?

本文介绍Docker版本号的是如何变化的。

# 时间点:17.03.0-ce (2017-03-01)

从这个版本开始,Docker进入「月度发布」周期,并使用新的「YY.MM」版本控制方案来反映这一点。 提供两种渠道:「月度」和「季度」。

任何特定「月度版本」只会在下一个月度发布可用之前收到安全性和错误[……]

Read more

更新日期:2019年08月29日

#5 GitHub / DNS Issue #255

# 相关链接:
「DNS Issue #255」
「DNS/IPV6 Problem #153」
「What does it mean when I get a server failure when connecting to a router with DNS protocol」

# 问题描述:
宿主机centos 4.18.12-1.el7.elrepo.x86_64,镜像apline。在容器里PING某个域名,在进行DNS解析时会有一段时间的延迟。

使用tcpdump抓包,发现:[……]

Read more

更新日期:2019年10月02日

相关链接

Service Name and Transport Protocol Port Number Registry – 就是端口分配

「How many socket connections can a web server handle?」
「Is a TCP server limited to 65535 clients?」

P2p

P2P技术详解

网络拓扑图绘制工具

Libreoffice Draw

它有一些列的扩展来添加图标。

Dia

目前正在使用的。Dia是图表、图形等等的开源编辑器。支持UML静态[……]

Read more

更新日期:2019年08月09日
@CONTAINER

Kubernetes – Production-Grade Container Orchestration

相关资源

官方文档:https://kubernetes.io/docs/home
代码仓库:https://github.com/kubernetes/kubernetes
访问社区:https://github.com/kubernetes/community
相关示例:http://kubernetesbyexample.com
在线练习:https://katacoda.com/courses/kubernet[……]

Read more

更新日期:2019年07月10日
@CONTAINER

Docker – Operating-System-Level Virtualization

Docker – Enterprise Container Platform

基于LXC,使用AUFS。

Docker组件:Server(Docker Engine)、Client/API、Image、Register、Container

Client/API -> Server -> Container

Image:基于联合文件系统的一种层次的结构。说人话就是,组成操作系统目录结构的一些文件,这些[……]

Read more

更新日期:2019年10月01日
@IGNORECHANGE

内容简介

做这行这么久了,总会悟出些什么。

当面对这些烂东西的时候……

首先确定要解决的问题,然后再研究软件及技术方案。我们以Jenkins为例,它存在很多边边角角的问题,但是如果你的问题不涉及这些地方,就不要理会它。悬崖边确实没有护栏,但是你不需要去那里,就不会有危险。

Backlinks:
00.INDEX

文章[……]

Read more

更新日期:2019年07月10日

# 创建Ingress服务

# ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-default
spec:
rules:
– host: nginx.cinyi.com
http:
paths:
– backend:
serviceName: nginx-default
servicePort: 80

参考文献

k8s1.8 ingress[……]

Read more

更新日期:2019年09月29日
@IGNORECHANGE

内容简介

本文介绍Helm的安装及初始配置。

环境信息

系统环境:
CentOS Linux release 7.5.1804 (Core)

软件版本:
Helm v3.0.0-beta.3

!!!版本3与版本2存在较大差异。本文未在版本2中测试。

安装

访问「GitHub/helm/helm/Releases」下载二进制包,然后解压到PATH中目录,比如/usr/local/bin/中,即可。

相关链接

GitHub/helm/helm[……]

Read more

更新日期:2019年07月19日

Compose,一个用于定义和运行多个容器的工具。

首先,使用YAML文件定义一组要启动的容器,然后通过一个简单的命令来启动所有在配置文件中定义的服务。

使用Docker Compose部署应用:

(1)创建Compse文件。该文件的内容「类似于把docker run的参数写在文件中」。

web:
image: jam01/compseapp
command: python app.py
ports:
– “5000:5000”
volumns:
– .:/composeapp
links:
– red[……]

Read more

更新日期:2019年08月06日

(03/04/2019) Docker 18.09 & Kali Rolling

在Docker官网上没有相应文档,毕竟这也不是个用于生产的发行版。而且就算Kali是Debian的衍生版,也不能用Debian的安装文档,因为有一个关键的地方是添加Docker官方源,这个地方是加不上去的。

所以啊,直接从Kali的源里安装吧:

#!/bin/sh

apt-get install docker.io

systemctl start docker.service
systemctl enable docker.service

doc[……]

Read more

更新日期:2019年07月10日

# TODO 存在的问题:使用Harbor的GC无效,并没有释放太多的空间

私有仓库运行一段时间后,仓库中存有大量无用的镜像,会占用太多的存储空间。因此,需要清理。

首先,在Harbor的UI中删除存储库这一操作是这是”软删除“,这可以删除整个存储库或仅删除它的标签,”软删除“后,Harbour中不再管理存储库,但是存储库的文件仍然保留在Harbour的存储中,即依旧占用存储空间。

那如何释放存储空间呢?释放存储空间需要执行GC操作,但是不同版本的Harbor操作方法不同。比如:

在v1.5.3中,需要停止Harbor服务,然后[……]

Read more

更新日期:2019年07月10日
@IGNORECHANGE

使用kubeadm安装集群,kubeadm也是安装其他程序的基础。

如何获取工作平面;工作节点相关的可执行文件。

使用hyperkube建立容器化的Kubernetes,并演示如果创建systemd文件以监管Kubernetes组件。

在Google Cloud和Azure上建立集群。

2.1. Installing kubeadm to Create a Kubernetes Cluster

安装:以Debian为例(每个节点上又要执行):

#!/bin/sh

###############[……]

Read more

更新日期:2019年07月10日
@IGNORECHANGE

(1)集群内的POD通讯

(2)应用程序如何互相发现对方

(3)如何公开POD,以便从集群外访问

Service为Pod提供VirtualIP。即使移除Pod或者添加Pod,Service也会保证客户端能够访问Pod中运行的容器。

VirtualIP的作用是为了将访问发送到一个或多个Pod。

kube-proxy负责VIP和Pod之间的映射,每个节点都有该进程。kube-proxy查询apiserver以获知集群中的新服务,并更新iptables规则。

5.1. Creating a Se[……]

Read more

更新日期:2019年07月10日

# Harbor API

「How to Browse and Query Harbor Registry using REST API」

在Harbor的GitHub仓库中的「docs/swagger.yaml 1.5.3」为Harbor的API文档。

复制到“http://editor.swagger.io”中进行显示。

# Harbor CLI

https://github.com/int32bit/python-harborclient

迁移Harbor到Kubernetes中

「Integration with[……]

Read more