ACK云原生容器工程师-ACK网络(下)
容器网络规划
容器网络规划、VPC专有网络配置阶段、容器网络配置阶段、Service网络配置阶段
根据集群业务需求,实现容器网络的配置完成
容器网络实践Flannel
TerwayTerway网络规划注意事项
建议选用高配ECS规格机型,如5代或6代的8G以上机型
共享ENI支持的最大Pod数=(ECS支持的ENI数-1)×单个ENI支持的私有ip数
独占ENI支持的最大Pod数=ECS支持的ENI数-1
Terway网络实践步骤1. 规划和准备集群网络
在创建ACK Kubernetes集群时,需要指定VPC地址段、虚拟交换机、Pod地址段、Service地址段
需要先创建一个专有网络VPC,然后在VPC下创建两个虚拟交换机
虚拟交换机和Pod交换机需要在同一可用区下
2. 创建专有网络
登录专有网络管理控制台
在顶部菜单栏,选择地域,然后创建专有网络
创建专有网络和虚拟交换机。
3. 创建ACK集群
登录阿里云容器服务ACK管理控制台
创建集群
在选择集群模板页面,单机标准托管集群下的创建
4. 配置Terway网络
配 ...
ACP云原生容器工程师-ACK网络(上)
容器集群网络设计目标主要解决的4个问题
容器与容器之间的通信
Pod与Pod之间的通信
Pod与Service之间的通信
外部世界与Service之间的通信
Kubernetes网络接入的三个原则
Pod和Pod的通信不需要NAT转换,可直接通信
Node和Pod可以相互通信,在不限制的情况下,Pod可以访问任意网络
Pod拥有独立的网络栈,Pod看到自己地址和外部看到自己地址是一样的,Pod内部容器共用一套独立的网络栈
容器到容器之间的通信
在容器中,容器之间的网络通信是通过docker0网桥,凡是连接到docker0的容器,都可以通过它来直接通信。
要想容器连接到docker0网桥,我们需要veth pair的虚拟设备来实现
当容器在一台宿主机上,访问该容器的ip地址时,这个数据包:
先根据路由规则到达docker0网桥
然后被转发到对应的veth pair设备
最后,出现在容器里
通过Service实现内外部统一访问为什么设立Service?
Kubernetes集群是通过Pod部署的,我们知道在Pod的生命周期中,随时可能被销毁和变化
应用 ...
ACP云原生容器工程师-ACK操作
操作流程
授权账号(RBAC/RAM)
创建集群(专有版、托管版、serverless版)
部署应用(镜像、模板)
运维管理(运维集群、运维应用)
集群创建
集群查看查看集群的基本信息、连接信息、集群资源、集群日志及集群时区
连接集群的方式
使用kubectl直接连接集群
使用CloudShell通过kubectl连接集群
通过SSH连接集群
使用ServiceAccount Token访问集群
通过公网访问集群API Server
创建无状态集群(Deployment)镜像创建
应用基本信息
容器配置
拉取镜像的3种方式:自动更新、手动更新、默认本地
高级配置
创建并查看
有状态应用(Statefulset)有状态应用和无状态应用区别:无状态应用与持久化组件无关(例如Volumn、DB等),应用挂掉重启之后,与持久化组件就断开了;有状态应用与持久化组件有关,应用挂掉重启之后,与持久化组件仍有关系。
Statefulset应用集特点
稳定且需要唯一的应用标识符
稳定且持久的存储
要求有序、平滑的部署和扩展
要求有序、平滑的终止和删除
有序的滚动更新 ...
ACP云原生容器工程师-ACK Pro概述
ACK Pro集群概述对比ACK托管版集群
相比ACK托管版,针对企业版大规模生产环境进一步增强了可靠性、安全性
继承了原托管版集群的所有优势
提供可赔付的SLA的Kubernetes集群
对比标准版集群
ACK Pro各种集群可靠性强化集群更可靠的托管Master节点,API Server自动弹性,保证集群平滑扩容海量节点。
安全性强化集群开放安全管理,并提供针对运行中容器更强检测和自动修复能力的安全管理高级版,与KMS结合会更安全。
调度性强化集群
集成更强调度性能的kube-scheduler,支持多种智能调度算法
优化在大规模数据计算、高性能数据处理等业务场景下的容器调度能力
ACK Pro显著特点
可靠的强化集群
提升安全性的集群
调度能力更强
ACK Pro版适用行业
金融企业
互联网企业
大数据计算企业
开展中国业务的海外企业
ACK Pro适用场景弹性伸缩架构
容器服务可以根据业务流量自动对业务扩容、缩容,不需要人工干预
避免流量激增扩容不及时导致系统挂掉,以及平时大量资源闲置
DevOps持续交付云原生AI
深度学习的三 ...
ACP云原生容器工程师-ACK概述
ACK简介阿里云容器服务ACK,是阿里云针对云原生推出的拳头产品,基于原版Kubernetes进行适配和增强,简化集群的搭建和运维工作,整合阿里云虚拟化、存储、网络和安全能力,使得扩容和缩容更加简易,打造云端最佳的Kubernetes容器化应用运行环境。
ACK分类ACK产品根据运维整合度,可分为三类:
专有版Kubernetes
托管版Kubernetes
Serverless Kubernetes
三者的特点和区别如下:
适用人群分别为:
专业版ACK:懂技术、有运维K8S的能力、资源规划明显、Master节点定制、完全自营、成本不敏感
托管版ACK: Kubernetes能上手、不关心Master节点、只部署应用、降低成本
Serverless Kubernetes:批量任务、突发扩容、开箱即用、零运维、按量付费、不关注基础设施
ACK vs 原生K8S
ACK基于原生K8S
ACK整合阿里云虚拟化、网络、存储、安全能力
高性能可伸缩能力加强
简化集群的运维和扩容工作,更专注应用开发
也可参考此图:
ACK核心功能集群管理通过控制台一键创建Kub ...
地址转换技术
前言在我们上网的过程中,不可能只用同一个ip地址来访问,在公网和内网之间,需要一些地址转换来实现公网和内网ip的变化。通常,我们可以使用NAT来做;在公网ip不固定的时候,也需要使用MASQUERADE来做地址转换。
NAT(Network Address Translation)我们都知道,在ip数据包中,有两个参数可以定位包的源地址和目的地址,一个是源地址ip,一个是目标地址ip。我们常用的NAT有两种,一种是SNAT,修改源地址;一种是DNAT,修改目标地址。
SNAT(Source NAT)此协议转换包的源地址,通常用于内网ip转公网ip,也就是正向代理会对发出的ip包做SNAT,使其可以传到公网环境中进行下一跳路由动作。
此修改作用于iptables的POSTROUTING阶段,具体命令如下:
1iptables -t nat -A POSTROUTING -s <修改之前的ip段> -o <出口网卡> -j SNAT --to-source <修改之后的ip>
DNAT(Destination NAT)此协议转换包的目的地址,通常用于 ...
ACP云原生容器工程师-云原生概要-1
云原生概念说到云,我们都不陌生。我们身边有各种厂商的云产品,例如AWS、GCP、AZure、阿里云、腾讯云等,但是说到云原生这个概念,恐怕就不是单纯的产品上云这么简单了,而是从产品的架构设计、网络规划、拓扑图补全、产品落地、后期运维等步骤中,都需要考虑云产品的特点而进行设计的。
云原生这个词是近几年伴随着云技术的迅猛发展而流行起来的一个概念,在不同时期我们对于云原生的概念定义也不一样。我这里列出几个比较具有代表性的定义方法:
Heroku于2011年提出了十二因子的应用定义,该定义可以适用于各种编程语言,通常被认为是最早对于云原生的技术定义。其十二因子分别为:**基准代码;依赖;配置;后端服务;构建、发布、运行;进程;端口绑定;并发;易处理;环境等价;日志;进程管理**
Pivital于2015年提出了“Cloud Native”的概念:云原生是一种可以充分利用云计算优势的构建和运行应用的方法。主要包括以下要素:**Devops;持续交付;微服务;容器**
云原生计算基金会对于云原生定义的最新版本是:云原生的代表技术为**容器、服务网格、微服务、不可变基础设施、声明式API**
...
ACP云原生容器工程师 - 考试大纲
ACP云原生容器工程师 - 大纲简介
ACP云原生容器工程师 - 所需知识
ACP云原生容器工程师 - 考试范围
考试重点
云原生通识技术: **云原生定义、核心技术、典型架构/技术、Docker/K8s功能特点、核心组件、应用实践**等。
ACK: **概念(ACK)三种形态、架构、功能、优势、应用场景、生命周期;网络、存储、日志监控的使用;ACK弹性伸缩、集群管理、应用发布管理、安全管理体系**等。
ASK: **ASK与ACK区别、使用场景、核心功能、组件;ASK具体配置和操作,ASK集群管理、应用管理、网络、存储、日志、监控;集群弹性伸缩;ASK使用中的注意事项、安全管理**等。
ASM: **服务网格的概念、优势、架构特点、应用场景;ASM核心功能使用:授权管理、网格诊断、入口网关配置、流量管理、可观测性管理等;构建ASM统一网格、构建统一的管理系统;ASM注意点及解决方法**。
ACR: **Docker基本概念、ACR基本概念、二者关系、异同点、适用场景、ACR默认实例版和企业版核心功能;ACR操作和配置(创建、网络、权限、交付链管理、镜像安全扫描及加 ...
《在那遥远的地方》-- 王洛宾
在那遥远的地方,有位好姑娘,人们走过了她的帐房 ,都要回头留恋地张望。
她那粉红的笑脸,好像红太阳,她那活泼动人的眼睛,好像晚上明媚的月亮。
我愿变一只小羊,跟在她身旁,我愿她拿着细细的皮鞭,不断轻轻的打在我身上。我愿她拿着细细的皮鞭,不断轻轻的打在我身上。
有位好姑娘,人们走过了她的帐房,都要回头留恋地张望。
她那粉红的笑脸,好像红太阳,她那美丽动人的眼睛,好像晚上明媚的月亮。
我愿抛弃了财产,跟她去放羊,每天看着那粉红的笑脸,和那美丽金边的衣裳。
我愿做一只小羊,跟在她身旁,我愿她拿着细细的皮鞭,不断轻轻的打在我身上。
HTTP状态码(比较全的版本)
1xx: 信息相应100: Continue, 客户端继续请求101: Switching Protocal,切换协议,响应客户端的请求头102: Processing,服务器收到正在处理,没有响应可用103: Early Hints, 主要用于与 Link 链接头一起使用,以允许用户代理在服务器准备响应阶段时开始预加载 preloading 资源。
2xx: 成功响应200: OK, 相应成功201: Created,请求成功,因此创建一个新资源202: Accepted,请求收到,但未响应203: Non-Authoritative Information, 服务器已处理请求,但是返回的不是原始服务器的确定集合,而是来自本地或第三方的拷贝204:No Content, 对于该请求没有的内容可发送,但头部字段可能有用。用户代理可能会用此时请求头部信息来更新原来资源的头部缓存字段。205:Reset Content, 告诉用户代理重置发送此请求的文档。206: Partial Content, 客户端部分请求资源被响应。207:Multi-Status, 对于多个状态代码都可能合适的情 ...