python DevOps

在云原生中,python扮演的角色是什么?

在云原生环境中,Python 作为一种高级编程语言,在多个方面扮演着重要角色。云原生是指利用云计算的各种优势(如弹性、可扩展性和自动化),构建和运行应用程序的方法和技术集合。在这样的环境中,Python 的特点和优势如下:

  1. 微服务架构:云原生应用通常基于微服务架构,这意味着应用被拆分为一系列小的、独立的服务,每个服务执行应用的特定功能。Python 由于其简洁性、易读性和广泛的库支持,非常适合快速开发和部署微服务。

  2. 容器和编排:在云原生环境中,容器(如Docker)和容器编排技术(如Kubernetes)是核心组件。Python 应用可以容易地容器化,并在任何支持容器技术的环境中部署。此外,还有多个用于管理容器化应用程序生命周期的 Python 库和工具。

  3. 自动化和API:Python 是自动化的一个非常强大的工具,这在云原生环境中尤为重要。利用 Python,可以编写脚本和工具来自动化部署流程、监控、数据收集等。同时,Python 的广泛的库和框架可以用于快速开发 RESTful API,这对于微服务之间的通信至关重要。

  4. 数据分析和机器学习:云原生应用程序常常需要处理大量数据以及进行实时分析。Python 在数据科学、分析和机器学习领域非常强大,拥有如 NumPy、Pandas、SciPy、TensorFlow 和 PyTorch 等库,使其能够高效地处理数据操作和计算。

  5. DevOps 工具链集成:在云原生和 DevOps 环境中,持续集成和持续部署(CI/CD)是常见的实践。Python 可以集成到 DevOps 工具链中,提供脚本支持,用于构建、测试、部署和监控应用程序。

  6. 云服务交互:大多数云提供商(如 AWS、Google Cloud Platform、Microsoft Azure 等)都提供了 Python SDK,使得开发人员能够直接与云服务进行交互,更轻松地集成云功能和服务。

总之,Python 由于其灵活性、易用性以及丰富的库生态系统,在云原生开发的许多方面都扮演着关键角色。它帮助团队快速迭代,适应云原生环境中不断变化的需求和挑战。

1、用python的 subprocess就能写出ping 255个ip哪个不通。多进程就能快很多,用fork

2、子进程在循环中不写exit(),会发生再生成子进程,核心就是子进程下次循环就少一次,生出孙进程,循环少两次。。。直到结束

windows是没有os.fork的,多进程不行,但支持多线程

python 复制代码
import os
import time

def main():
    for i in range(5):  # 仅仅为了示例,我们尝试创建5个子进程
        pid = os.fork()
        if pid == 0:  # 判断当前进程是否是子进程
            # 这里是子进程
            print(f"子进程: {os.getpid()}")
            # 如果没有exit,子进程将继续执行循环
            # ... 子进程需要执行的代码 ...

            # 非常重要: 子进程完成工作后应该退出
            # os._exit(0)
        else:
            # 这里是父进程
            print(f"父进程: {os.getpid()}, 创建了子进程: {pid}")
        
        time.sleep(1)  # 让循环稍微慢一点,更容易观察

if __name__ == "__main__":
    main()

3 python和go的区别

4 进程和线程,协程概念

5 爬虫 urllib

可以读取网页内容,保存成文件,图片,视频,声音都可以

有些大文件,每次读取一部分

urllib是比较底层的,可以用上层wget这个工具, python中 import wget

可以把网站的所有图片都下载到本地一个文件夹中

面对障碍

1、可以设置一些headers信息(User-Agent),模拟成浏览器去访问这些网站

2、url 里面有中文,阿斯码解不了,浏览器人家是自己给转码了,代码中要加上 request.quote('中文')

6 paramiko

pip install paramiko

代码中变成ssh客户端,用于 多线程 执行远程命令

7 邮件

发送邮件,收邮件

plain代表纯文本,就像vi编辑的都是文本,富文本就是又有图片,又有链接

下面是给自己主机上面的其他用户发邮件。还可以向互联网上发邮件

SMTP: 简单邮件传输协议,用的TCP 端口25。python 中用 smtplib

8 JSON

跨语言通信,python有元组,列表list,没数组,发送给另一个语言有数组的就会用到 json, 先转成json字符串作为中介

9 request -- HTTP库,比urillib3更简单

GET PUT POST DELETE

10 Ansible

它是python编写的,可以 pip install ansible==2.7.2

ssh-keyscan就能把密钥扫描保存下来就省的每台注意ssh后输入yes

比如 ssh-keyscan host1 host2 host3 >> ~/.ssh/known_hosts

playbook

模块名字,目标hosts是谁?tasks干什么?

  1. 能每台机器yum安装,可以更新到最新的版本或者已经存在
  2. 能设置服务起来并且enable

Ansible API

就是用 python 控制 ansible

相关推荐
代码小鑫12 分钟前
A031-基于SpringBoot的健身房管理系统设计与实现
java·开发语言·数据库·spring boot·后端
赛丽曼17 分钟前
Python中的TCP
python
小白~小黑18 分钟前
软件测试基础二十(接口测试 Postman)
python·自动化·postman
codists18 分钟前
《Django 5 By Example》阅读笔记:p76-p104
python·django·编程人
五味香20 分钟前
Linux学习,ip 命令
linux·服务器·c语言·开发语言·git·学习·tcp/ip
欧阳枫落26 分钟前
python 2小时学会八股文-数据结构
开发语言·数据结构·python
天天要nx30 分钟前
D64【python 接口自动化学习】- python基础之数据库
数据库·python
何曾参静谧33 分钟前
「QT」文件类 之 QTextStream 文本流类
开发语言·qt
monkey_meng37 分钟前
【Rust类型驱动开发 Type Driven Development】
开发语言·后端·rust
落落落sss1 小时前
MQ集群
java·服务器·开发语言·后端·elasticsearch·adb·ruby