【产品功能】配置网卡从此与关机无缘,弹性网卡支持热插拔功能

摘要: 本文主要介绍了弹性网卡的热插拨功能改进,弹性网卡插拔对应的实例不再要求必须为 Stopped 状态,现在只要求是稳定状态( Running Stopped )即可。以及介绍了控制台、OpenAPI如何对弹性网卡进行热插拔操作。

背景

在云计算飞速发展的今天,用户ECS服务器身处的网络环境越来越复杂,弹性网卡让ECS服务器完美游走在日益复杂的网络环境中。但是以前服务器必须是Stopped状态才可以进行弹性网卡(ENI)的插拔,这样可能会影响运行在服务器上的业务。现在很高兴的向大家宣布:弹性网卡从今天开始支持热插拨,即ECS服务器只要处在稳定状态(Running Stopped),就可以对弹性网卡进行插拔操作。

弹性网卡热插拔:控制台

控制台操作弹性网卡的位置:进入控制台 -> 云服务器 ECS -> 弹性网卡。

创建弹性网卡:点击创建弹性网卡按钮,在弹窗中填写网卡名称,选择专有网络 交换机 安全组等信息后创建弹性网卡。

热挂载弹性网卡:点击弹性网卡对应的绑定实例按钮,在弹窗中选择要绑定实例。实例状态只要求为稳定状态(Running Stopped)。

热卸载弹性网卡:点击弹性网卡对应的解绑实例按钮,确定即可解绑。实例状态只要求为稳定状态(Running Stopped)。

弹性网卡热插拔:OpenAPI

attach_eni detach_eni 分别可以根据弹性网卡ID,实例ID,进行弹性网卡的热插拔。相关API参考帮助文档:挂载弹性网卡卸载弹性网卡

#  coding=utf-8

# if the python sdk is not install using 'sudo pip install aliyun-python-sdk-ecs'

# if the python sdk is install using 'sudo pip install --upgrade aliyun-python-sdk-ecs'

# make sure the sdk version is 4.7.1, you can use command 'pip show aliyun-python-sdk-ecs' to check

import json

import logging

from aliyunsdkcore import client

from aliyunsdkecs.request.v20140526.CreateNetworkInterfaceRequest import CreateNetworkInterfaceRequest

from aliyunsdkecs.request.v20140526.AttachNetworkInterfaceRequest import AttachNetworkInterfaceRequest

from aliyunsdkecs.request.v20140526.DetachNetworkInterfaceRequest import DetachNetworkInterfaceRequest

from aliyunsdkecs.request.v20140526.DeleteNetworkInterfaceRequest import DeleteNetworkInterfaceRequest

# configuration the log output formatter, if you want to save the output to file,

# append ",filename='ecs_invoke.log'" after datefmt.

logging.basicConfig(level=logging.INFO,

                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',

                    datefmt='%a, %d %b %Y %H:%M:%S')

# send open api request

def _send_request(request):

    request.set_accept_format('json')

    try:

        response_str = clt.do_action(request)

        logging.info(response_str)

        response_detail = json.loads(response_str)

        return response_detail

    except Exception as e:

        logging.error(e)

# create eni

def create_eni(vSwitchId, securityGroupId, networkInterfaceName=None, primaryIpAddress=None, description=None,

              clientToken=None):

    request = CreateNetworkInterfaceRequest()

    request.set_VSwitchId(vSwitchId)

    request.set_SecurityGroupId(securityGroupId)

    if (networkInterfaceName != None):

        request.set_NetworkInterfaceName(networkInterfaceName)

    if (primaryIpAddress != None):

        request.set_PrimaryIpAddress(primaryIpAddress)

    if (description != None):

        request.set_Description(description)

    if (clientToken != None):

        request.set_ClientToken(clientToken)

    _send_request(request)

# attach eni to instance

def attach_eni(eniId, instanceId):

    request = AttachNetworkInterfaceRequest()

    request.set_NetworkInterfaceId(eniId)

    request.set_InstanceId(instanceId)

    _send_request(request)

# detach eni from instance

def detach_eni(eniId, instanceId):

    request = DetachNetworkInterfaceRequest()

    request.set_NetworkInterfaceId(eniId)

    request.set_InstanceId(instanceId)

    _send_request(request)

# delete eni

def delete_eni(eniId):

    request = DeleteNetworkInterfaceRequest()

    request.set_NetworkInterfaceId(eniId)

    _send_request(request)

if __name__ == '__main__':

    clt = client.AcsClient('Your Access Key Id', 'Your Access Key Secrect', 'cn-zhangjiakou')

    vSwitchId = "vsw-test"

    securityGroupId = "sg-test"

    # create_eni(vSwitchId=vSwitchId, securityGroupId=securityGroupId)

    attach_eniId = "eni-test"

    attach_instanceId = "i-test"

    # attach_eni(attach_eniId, attach_instanceId)

    detach_eniId = "eni-test"

    detach_instanceId = "i-test"

    # detach_eni(detach_eniId, detach_instanceId)

    delete_eniId = "eni-test"

    # delete_eni(delete_eniId)

小结

现在的弹性网卡热插拔只要求实例为稳定状态即可,改进了以前实例只能为Stopped状态才能插拔弹性网卡的现状。提升了用户体验,现在服务器不用关机就能轻松配置弹性网卡,更加灵活实用。

本文为云栖社区原创内容,未经允许不得转载

原文链接

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,003评论 19 139
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,401评论 4 16
  • 虚拟化技术概览KVM简介KVM的管理操作 一、虚拟化技术概览 (一)虚拟化技术类型: 主机虚拟化:xen, kvm...
    哈喽别样阅读 2,054评论 0 5
  • 001 终于听完了罗振宇《2017时间的朋友》跨年演讲,将近四个小时,提出了六个问题,给出六个答案,开了六个脑洞,...
    安妮的成长日记阅读 1,063评论 0 8
  • 组合继承 也叫伪经典继承;指将原型链和构造函数技术组合一起的继承方式 xyy => SubType => Supe...
    雨中追燕阅读 284评论 0 0

友情链接更多精彩内容