BusyBox

Kubernetes 服务发现

99封情书 提交于 2019-11-27 12:01:47
目录 什么是服务发现? 环境变量 DNS 服务 Linux 中 DNS 查询原理 Kubernetes 中 DNS 查询原理 调试 DNS 服务 存根域及上游 DNS 什么是服务发现? 服务发现就是一种提供服务发布和查找的服务 ,是基于服务架构(SOA)的核心服务,需具备以下关键特性: 注册(Registration),新增服务到服务列表; 目录(Directory),即服务列表; 查找(Lookup),通过服务名找到服务。 服务发现的关键在于服务元数据(metadata)的存储 ,包括服务名、服务 IP、服务端口等信息。 Kubernetes 支持两种服务发现方式,环境变量和 DNS。 环境变量 当 Pod 创建时,Kubernetes 会将每个活跃的 Service 的相关环境变量设置到 Pod 中。 值得注意的是,这些环境变量不会因为相关 Service 改变而改变 (笔者亲手试验过)。 Kubernetes 会设置两类环境变量,分别是: Kubernetes Service 环境变量 Docker Link 环境变量 Kubernetes Service 环境变量形如(假定服务名为 latte,且访问端口为 8080): LATTE_SERVICE_HOST=10.100.251.57 LATTE_SERVICE_PORT=8080 Docker Link 环境变量形如

基于百度云 BOS 搭建私有 Docker Registry

我与影子孤独终老i 提交于 2019-11-26 22:47:48
基于百度云 BOS 搭建私有 Docker Registry Docker Registry 作为 Docker 的核心组件之一负责了镜像的存储以及分发。用户只需要使用 Docker 的客户端就可以直接和 Registry 进行交互,下载和上传镜像。 百度对象存储 BOS (Baidu Object Storage) 提供稳定、安全、高效以及高扩展存储服务。 Baidu BOS storage driver 基于官方 Docker Registry 源码,结合百度云 Go 语言SDK: https://github.com/guoyao/baidubce-sdk-go.git ,通过实现 storagedriver.StorageDriver 接口,提供了一个针对百度云 BOS 的 Storage Driver。 准备工作 安装 Docker Engine,如何安装请参考 Docker官方文档 下载 Registry 镜像(或者通过源码仓库 https://github.com/guoyao/distribution.git 自己 build 一个镜像) docker pull guoyao/registry:0.6.0 因为是从Docker官方Registry下载镜像,速度会比较慢,可以配置国内的镜像加速 注册 百度云 账号,开通 BOS 服务,在 百度云 BOS 控制台

windows 自带 ftp 工具 linux 互传文件

时光毁灭记忆、已成空白 提交于 2019-11-26 21:22:35
1 . 安装vsftpd (ftp的服务端) yum install -y vsftp 安装完后: 配置文件位置: /etc/vsftpd/vsftpd.conf (centos7) 工作目录: /var/ftp/pub 2 . 修改配置文件 确保如下 anonymous_enable=YES write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES ascii_upload_enable=YES ascii_download_enable=YES 3. 启动vsftpd服务 $ systemctl stop firewalld //关闭防火墙 $ systemctl start vsftpd //启动vsftpd服务 4. 设置工作目录权限 $ chmod -R 777 /var/ftp/pub 如上还是报错: 解决: selinux 问题 $ vim /etc/selinux/config 6. 操作 1)获取linux文件 2) 传文件到linux 7 . FTP传输文件被破坏问题 FTP的传输模式有两种:①ASCII ②二进制   ①ASCII:       以ASCII编码的方式传输文件,可以传输含有ASCII编码的简单的文本文件 ②二进制: 以二进制的方式传输文件 注意:

docker镜像制作

帅比萌擦擦* 提交于 2019-11-26 17:07:30
基于busybox制作默认执行httpd服务的镜像 #下载镜像 [root@docker ~]# docker pull busybox # 启动镜像 [root@docker ~]# docker run --name b1 -it busybox # 创建html目录 / # mkdir -p /data/html # 创建索引页面 / # vi /data/html/index.html # 生成新的docker images [root@docker ~]# docker commit -p b1 # 打标签 [root@docker ~]# docker tag e0cc8f6bd590 busybox/httpd:v-0.1 # 查看images默认运行的命令 [root@docker ~]# docker inspect busybox/httpd:v-0.1 | sed -n '/Cmd/{n;p}' # 修改默认运行的命令  -a 作者 -p 暂停容器 [root@docker ~]# docker commit -a 'ray' -c 'CMD ["/bin/httpd","-f","-h","/data/html"]' -p b1 busybox/httpd:v-0.0 # 运行 [root@docker ~]# docker run -d --name

Kubernetes数据持久化方案

偶尔善良 提交于 2019-11-25 20:11:58
在开始介绍k8s持久化存储前,我们有必要了解一下k8s的emptydir和hostpath、configmap以及secret的机制和用途。 1、Emptydir EmptyDir是一个空目录,他的生命周期和所属的 Pod 是完全一致的,EmptyDir主要作用可以在同一 Pod 内的不同容器之间共享工作过程中产生的文件。如果Pod配置了emptyDir类型Volume, Pod 被分配到Node上时候,会创建emptyDir,只要Pod运行在Node上,emptyDir都会存在(容器挂掉不会导致emptyDir丢失数据),但是如果Pod从Node上被删除(Pod被删除,或者Pod发生迁移),emptyDir也会被删除,并且永久丢失。 # cat emptydir.yaml apiVersion: v1 kind: Pod metadata: name: busybox spec: containers: - name : busybox image: registry.fjhb.cn/busybox imagePullPolicy: IfNotPresent command: - sleep - "3600" volumeMounts: - mountPath: /busybox-data name: data volumes: - name: data emptyDir: {}