一.云原生简介
2004年开始,Google已在内部大规模地使用容器技术。
- 2008年,Google将 Cgroups合并进入了Linux内核。
- 2013年,Docker项目正式发布。
- 2014年,Kubernetes项目正式发布。
- 2015年,由Google、Redhat 以及微软等大型云计算厂商以及一些开源公司共同牵头成立了CNCF(Cloud Native ComputingFoundation)云原生计算基金会。 https://landscape.cncf.io/
- 2017年,CNCF达到170个成员和14个基金项目;
- 2018年,CNCF成立三周年有了195个成员,19个基金会项目和11个孵化项目。
- 2022年,全球187国家、820+企业成员、130+项目、16万以上开发者。
二. 云原生定义
云原生是一种提供了可应用于生产环境的方法论,方便企业快速运行应用程序,企业不需要将人效用于放在底层运行环境,而是主要聚焦在业务层功能开发,从而实现产品的快速交付、迭代及稳定性,从而整体降低成本支出并提高交付效率。
https://github.com/cncf/toc/blob/main/DEFINITION.md#%E4%B8%AD%E6%96%87%E7%89%88%E6%9C%AC
三. 云原生技术栈
-
容器化:以docker、containerd为代表的容器运行技术。
-
服务网格: 比如Service Mesh等。
-
微服务:在微服务体系结构中,一个项目是由多个松耦合且可独立部署的较小组件或服务组成。
-
不可变基础设施:不可变基础设施可以理解为一个应用运行所需要的基本运行需求,不可变最基本的就是指运行服务的服务器在完成部署后,就不在进行更改,比如镜像等。
-
声明式API:描述应用程序的运行状态,并且由系统来决定如何来创建这个环境,例如声明一个pod,会有k8s执行创建并维持副本。
-
什么是CNCF:
CNCF(云原生计算基金会、Cloud Native Computing Foundation)是由Google牵头在2015年成立的一个开源基金会,主要目的为支持开源社区开发云原生组件,目前孵化出了kubernetes、Prometheus、containerd、Harbor等众多开源项目。
- 什么是云原生?
云原生是在云计算环境中构建、部署和管理现代应用程序的方法,云原生的宗旨是基于云原生基金会的项目可以帮助企业在公有云、私有云和混合云上构建和运行可扩展的应用,主要关注的是如何构建和交付应用,而不仅仅是在哪里部署应用
- 什么是云原生应用程序?
云原生应用程序是由多个称为微服务的相互依赖的小型服务组成的业务程序,相比较于传统的单体应用,开发人员将业务程序按照功能拆分为若干个更小的微服务,这使得云原生应用程序的开发和迭代更加敏捷,因为这些微服务可以独立部署、运行和工作,并且只需极少的计算资源即可运行。
- 什么是云计算?
云计算是指托管在专有数据中心并提供给企业客户、个人等按量付费的基础设施,使用云计算后企业前期不需要购买大量的硬件服务器、网络设备、存储设备及安全设备等,后期也不需要维护基础设施,企业可以使用云提供商提供的按需付费的服务,如云主机、RDS、ES、注册中心等。
四.安装Ubuntu系统
1.桥接模式安装Ubuntu系统
2.开启Ubuntu虚拟机
3.登录后进行优化
sudo -i
#切换root用户
用户密码
修改sshd_config
vim /etc/ssh/sshd_config
修改PermitRootLogin yes
systemctl restart sshd
修改root密码
passwd root
以上实现ssh登录
修改时区
timedatectl set-timezone Asia/Shanghai
timedatectl -a
timedatectl show
设置域名
hostnamectl hostname DOMAIN
bash
配置网络
network:version: 2renderer: networkdethernets:ens33:dhcp4: nodhcp6: noaddresses: [172.16.227.14/16]routes:- to: defaultvia: 172.16.16.1nameservers:addresses: [218.2.135.1, 8.8.8.8]
netplan apply
4.查看真机桥接网络名称
5.root用户连接xshell