Ubuntu日常配置 gpg --keyserver wwwkeys.pgp.net --recv-keys # gpg --armor --export | apt-key add -apt-key adv --recv-keys --keyserver keyserver.Ubuntu.com # 设置 DNSSEC 是否激活,可用的选项有 yes、no、allow-downgrade。# 设置缓存是否激活,可用的选项有 yes、no、no-negative。
Helm部署-使用-示例 Helm 客户端负责 chart 和 release 的创建和管理以及和 Tiller 的交互。Tiller 服务端运行在 Kubernetes 集群中,它会处理Helm客户端的请求,与 Kubernetes API Server 交互。 没有使用Helm之前,在Kubernetes部署应用,我们要依次部署deployment、service等,步骤比较繁琐。现在越来越多的公司和团队开始使用Helm这个Kubernetes的包管理器,我们也会使用Helm安装Kubernetes的常用组件。
k8s-Pod基础 基础容器(也可称为父容器)pause 就是为了管理 Pod 容器间的共享操作,这个父容器需要能够准确地知道如何去创建共享运行环境的容器,还能管理这些容器的生命周期。运行于各自容器内的进程无法直接完成网络通信,这是由于容器间的隔离机制导致,k8s 中的 Pod 资源抽象正是解决此类问题,Pod 对象是一组容器的集合,这些容器共享 Network、UTS 及 IPC 命令空间,因此具有相同的域名、主机名和网络接口,并可通过 IPC 直接通信。Pod 中的所有容器都可以访问共享的 Volume。
k8s-资源限制-探针检查 健康检查又称为探针(Probe),是由kubelet对容器执行的定期诊断。以上三种规则可同时定义。在readinessProbe检测成功之前,Pod的running状态是不会变成ready状态的。探针分为3种livenessProbe(存活探针)∶判断容器是否正常运行,如果失败则杀掉容器(不是pod),再根据重启策略是否重启容器readinessProbe(就绪探针)∶判断容器是否能够进入ready状态,探针失败则进入noready状态,并从service的endpoints中剔除此容器。
k8s-kubectl命令 ●NodePort:在每个Node.上打开一个端口以供外部访问,Kubernetes将会在每个Node.上打开一个端口并且每个Node的端口都是一样的,通过NodeIP:NodePort的方式Kubernetes集群外部的程序可以访问Service。(2)监控更新的过程,可以看到已经新增了一个资源,但是并未按照预期的状态去删除一个旧的资源, 就是因为使用了pause暂停命令。//处于动态监听pod状态,由于使用的是滚动更新方式,所以会先生成–个新的pod,然后删除–个旧的pod,往后依次类推。
k8s-二进制部署 生成apiserver证书:cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes server-csr.json | cfssljson -bare server。二进制包下载地址:https://github.com/coreos/etcd/releases/tag/v3.2.12。生成三个文件:ca-config.json, ca-csr.json, server-csr.json。
k8s介绍-组件架构-核心 用于自动部署、扩展和管理“容器化( containerized) 应用程序”的开源系统可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是–个生态极其丰富的容器编排框架工具由来:k8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经G0语言延用Borg的思路重写并捐献给CNCF基金会开源含义:词根源于希腊语的舵手、飞行员2、为什么需要Kubernetes,它能做什么?**容器是打包和运行应用程序的好方式。**在生产环境中,你需要
ansible-playbook剧本 Playbooks 是 Ansible的配置、部署、编排语言,他们可以被描述为一个需要希望远程主机执行命令的方案,或者一组IT程序运行的命令集合Playbooks 与 ad-hoc相比,是一种完全不同的运用ansible的方式,是非常之强大的。简单来说,playbooks是一种简单的配置管理系统与多机器部署系统的基础,与现有的其他系统有不同之处,且非常适合于复杂应用的部署。playbook是ansible用于配置,部署,和管理被控节点的剧本。
ansible命令模块 常见的命令都可以使用,但命令的执行不是通过shell来执行的,所以< > | and & z这些操作都不可以,不支持管道,没法批量执行命令。ansible_user 连接对方主机时使用的用户名。dest:指出复制文件的目标及位置,使用绝对路径,如果是源目录,指目标也要是目录,如果目标文件已经存在会覆盖原有的内容。command : ansible的默认模块,不指定-m参数的时候,使用的就是command模块;ansible_password 连接时的用户的ssh密码,仅在未使用密钥对验证的情况下有效。
ansible部署 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。Ansible基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。
docker-consul容器 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。
docker-compose Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
docker私有仓库 • Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务• Harbor以 Docker 公司开源的Registry 为基础,提供了图形管理UI、基于角色的访问控制(Role Based AccessControl)、AD/LDAP集成、以及审计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。
docker网络-资源控制-数据管理 直接使用bridge,无法支持指定IP运行docker docker run -itd --name test3 --network bridge --ip 172.17 .0.10 centos:7 /bin/bash。
docker网络 直接使用bridge,无法支持指定IP运行docker docker run -itd --name test3 --network bridge --ip 172.17 .0.10 centos:7 /bin/bash。
docker概念及安装 Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序docker设计宗旨。