前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LXD 容器学习笔记

LXD 容器学习笔记

作者头像
iVampireSP.com
发布2023-10-21 10:25:12
2440
发布2023-10-21 10:25:12
举报
文章被收录于专栏:iVampireSPの物语iVampireSPの物语

LXD

创建容器并运行

lxc launch {image}:{version} {name}

eg: lxc launch ubuntu u1

创建容器但是不运行

lxc init {image}:{version} {name}

停止容器

lxc stop {name}

启动

lxc start {name}

删除容器

lxc delete {name}

列出容器

显示网络(慢):lxc list

不显示网络(快): lxc list --fast

运行命令

lxc exec {name} {command}

限制CPU

lxc config set {name} limits.cpu {cores}

限制内存

lxc config set {name} limits.memory {memory}

关闭内存交换(默认启用)

lxc config set {name} limits.memory.swap false

限制硬盘

lxc config device set {name} root size={size}GB

eg: lxc config device set u1 root size=2GB

限制IO速度

代码语言:javascript
复制
lxc config device set {name} root limits.read 30MB
lxc config device set {name} root.limits.write 10MB

限制IO频率

代码语言:javascript
复制
lxc config device set {name} root limits.read 20Iops
lxc config device set {name} root limits.write 10Iops

限制网络IO

"只要机制可用,网络 I/O 基本等同于块 I/O。" https://linux.cn/article-8072-1.html

代码语言:javascript
复制
lxc profile device set default eth0 limits.ingress 100Mbit
lxc profile device set default eth0 limits.egress 100Mbit

从镜像服务器复制

代码语言:javascript
复制
lxc image copy ubuntu:14.04 local:

端口转发(代理)

添加端口

代码语言:javascript
复制
lxc config device add mycontainer myport80 proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:80
lxc config device add mycontainer myport443 proxy listen=tcp:0.0.0.0:443 connect=tcp:127.0.0.1:443

移除端口

代码语言:javascript
复制
lxc config device remove mycontainer myport80

LXD REST API

https://stgraber.org/2016/04/18/lxd-api-direct-interaction/

打开远程访问

代码语言:javascript
复制
lxc config set core.https_address "[::]:8443"

设置密码以信任客户端

代码语言:javascript
复制
lxc config set core.trust_password 

本地 或者 远程访问

使用CURL通过Unix Socket访问

代码语言:javascript
复制
curl -s --unix-socket /var/lib/lxd/unix.socket s/ | jq .
  • 输出
代码语言:javascript
复制
{
"type": "sync",
"status": "Success",
"status_code": 200,
"metadata": [
 "/1.0"
]
}

使用远程访问(客户端验证)

代码语言:javascript
复制
curl -s -k --cert ~/.config/lxc/client.crt --key ~/.config/lxc/client.key https://127.0.0.1:8443/1.0/certificates -X POST -d '{"type": "client", "password": "some-password"}' | jq .
  • 输出
代码语言:javascript
复制
{
"type": "sync",
"status": "Success",
"status_code": 200,
"metadata": {}
}
  • 确认我们已经验证
代码语言:javascript
复制
curl -s -k --cert ~/.config/lxc/client.crt --key ~/.config/lxc/client.key https://127.0.0.1:8443/1.0 | jq .metadata.auth
代码语言:javascript
复制
"trusted"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-8-28 2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LXD
    • LXD REST API
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档