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

相关推荐
逸雪飞扬3 分钟前
Gradio 非侵入式修改的离线使用方案
python·html
CPETW15 分钟前
同旺科技 USB TO SPI / I2C适配器(专业版)--EEPROM读写——C
c语言·开发语言·科技·stm32·单片机·嵌入式硬件·电子
来自外太空的鱼-张小张16 分钟前
java将pdf文件转换为图片工具类
java·python·pdf
endNone17 分钟前
【机器学习】SAE(Sparse Autoencoders)稀疏自编码器
人工智能·python·深度学习·sae·autoencoder·稀疏自编码器
代码中の快捷键24 分钟前
如何实现一个登录功能?
java·开发语言
虾球xz25 分钟前
CppCon 2015 学习:C++ devirtualization in clang
开发语言·c++·学习
明月与玄武44 分钟前
快速掌握Django框架设计思想(图解版)
后端·python·django
陪我一起学编程1 小时前
关于ORM增删改查的总结——跨表
数据库·后端·python·django·restful
旷野说1 小时前
cpp 绑定方案大比拼
python
Q_Q5110082851 小时前
python+django/flask成都奥科厨具厂产品在线销售系统
vue.js·spring boot·python·django·flask·node.js·php