首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏charlieroro

    docker namespaces

    使用user namespaces可以防止容器权限过大造成的风险,user namespaces主要涉及用户和组。 docker的user namespaces映射主要涉及2个文件:/etc/subgid和/etc/subuid。 Docker PID namespaces: PID namespaces使得每个 PID namespace 中的进程可以有其独立的 PID; 每个容器可以有其 PID 为 1 的root docker mount namespaces(后续会增加一个讲解docker 存储的篇章) 自定义mount namespaces 当一个进程调用clone或unshare创建一个mount namespace Cgroup namespaces: docker在1.8版本之后将分配给容器的cgroup挂载到了容器中。

    1.5K20发布于 2020-03-24
  • 来自专栏迁移内容

    Docker原理之Namespaces

    命名空间(namespaces)是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。 一、Namespaces 在日常使用 Linux 或者 macOS 时,我们并没有运行多个完全分离的服务器的需要,但是如果我们在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程 在这种情况下,一旦服务器上的某一个服务被入侵,那么入侵者就能够访问当前机器上的所有服务和文件,这也是我们不想看到的,而 Docker 其实就通过 Linux 的 Namespaces 对不同的容器实现了隔离

    90610编辑于 2022-12-01
  • 来自专栏DPDK VPP源码分析

    Learning VPP: Two instances in different namespaces

    本文描述如何在一台机器上但在不同的命名空间中运行两个vpp的实例。命名空间之间的通信通过linux-cp插件及memif接口来完成。

    1.1K20编辑于 2023-03-07
  • 来自专栏和baron一起学习TKE

    (一)docker-namespaces资源隔离和cgroups资源限制

    Docker通过namespaces实现了资源隔离,通过cgroups实现了资源限制,通过写时复制机制(copy-on-write)实现了高效的文件操作。 namespaces资源隔离 想要实现一个资源隔离的容器,首先,根目录/的挂载点需要切换,即文件系统需要隔离;接着,为了在分布式的环境下进行通信和定位,容器必然要有独立的IP、端口、路由等,即网络需要隔离 由此,基本上完成了一个容器所需要做的6项隔离,Linux内核中提供了这6种namespaces隔离的系统调用,如图所示: [namespaces的6项隔离.png] Linux内核实现namespace 1、进行namespaces API 操作的4种方式 namespaces的API包括clone()、setns()以及unshare(),还有/proc下的部分文件。 通过clone()在创建新进程的同时创建namespaces 使用clone()来创建一个独立的namespaces的进程,是最常见的做法,也是Docker使用namespace最基本的方法,它的调用方式如下

    1.8K40发布于 2019-11-18
  • 来自专栏兜兜毛毛

    k3s安装longhorn服务无法删除namespaces

    > kubectl get namespaces NAME STATUS AGE kube-node-lease Active 4d12h default ingress-nginx Active 32h longhorn-system Terminating 59m # 执行删除后还是一直处于等待状态 > kubectl delete namespaces longhorn-system # 使用强制删除也是相同的问题 >kubectl delete namespaces longhorn-system --force --grace-period= # 重新娇艳 >kubectl delete namespaces longhorn-system --force --grace-period=0

    1.8K50发布于 2020-04-24
  • 来自专栏从零开始学自动化测试

    Flask 学习-49.Flask-RESTX 使用 namespaces 命名空间

    多个namespaces  命名空间 组织 Flask-RESTPlus 应用程序有很多不同的方法,但在这里我们将描述一种可以很好地扩展大型应用程序并保持良好级别组织的方法。

    1.3K10编辑于 2022-09-13
  • 来自专栏arebirth重生者的IT之路

    安装Keepalived namespaces.c:187: error: ‘SYS_setns’ undeclared (first use in this function)

    错误信息 namespaces.c: In function ‘setns’: namespaces.c:187: error: ‘SYS_setns’ undeclared (first use in this function) namespaces.c:187: error: (Each undeclared identifier is reported only once namespaces.c :187: error: for each function it appears in.) make[2]: *** [namespaces.o] Error 1 make[2]: Leaving directory

    59020发布于 2020-06-19
  • 来自专栏MoeLove

    K8S 生态周报| Kubernetes v1.25 将添加 user namespaces 的支持

    我来介绍一些本周关注到比较值得注意的内容: 上游进展 Add support for user namespaces phase 1 (KEP 127) by rata · Pull Request #111090 · kubernetes/kubernetes 这个 PR 实现了 KEP127 的第一阶段,KEP127 旨在为 Pod 添加 user namespaces 的支持。 对 user namespaces 不太熟悉的小伙伴,可以看看我之前的系列文章:《搞懂容器技术的基石:namespace (上)》 和 《搞懂容器技术的基石:namespace (下)》 。 在 Kubernetes 中支持使用 user namespaces 的好处在于,可以在与主机有不同 UID/GID 的 Pod 中运行进程,这样在 Pod 内的特权进程 实际是作为主机中的普通进程运行的 该实现是在 Pod 的 Spec 中添加了布尔类型的 HostUsers 字段,以决定是否启用主机的 user namespaces,默认是 true 。

    54630编辑于 2022-12-07
  • 来自专栏全栈程序员必看

    kubernetes k8s删除namespaces 时一直处在Terminating的问题解决

    curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:8001/api/v1/namespaces Opening http://127.0.0.1:54619/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:54619/api/v1/namespaces

    1.4K30发布于 2021-05-19
  • 来自专栏开源部署

    Pod 的 NameSpace

    要显示集群中可用的所有命名空间,使用 kubectl get namespaces 命令: ​使用 kubectl get namespaces kube-system 指定namespaces 查看 : 使用 kubectl describe namespaces kube-system 指定namespaces查看详情: namespaces status 有两个状态: Active : 命名空间正在使用中 Terminating : 正在删除命名空间,不能用于新对象 使用 kubectl create namespace test 创建 namespaces : 使用 kubectl delete namespaces test 删除 namespaces : ​正常使用 namespaces ,只需要在我们创建的资源清单内指定即可: apiVersion: v1 kind: Pod metadata : name: nginx namespaces: test # 指定所属 namespaces labels: app: web spec: containers: - name

    91010编辑于 2022-09-15
  • 来自专栏Kubernetes

    runC源码分析——namespace

    runc/libcontainer/configs/config.go中定义了container对应的Namespaces。 另外对于User Namespaces,还定义了UidMappings和GidMappings for user map。 . // Namespaces specifies the container's namespaces that it should setup when cloning the init Namespaces `json:"namespaces"` // UidMappings is an array of User ID mappings for User Namespaces This function returns flags only for new namespaces. func (n *Namespaces) CloneFlags() uintptr {

    1.9K80发布于 2018-04-13
  • 来自专栏.NET5

    携程 Apollo 配置中心传统 .NET 项目集成实践

    /// /// <param name="key">键</param> /// <param name="<em>namespaces</em>">命名空间集合</param > /// <returns></returns> string GetValue(string key, params string[] namespaces); ) { var config = namespaces == null || namespaces.Length == 0 ? throw new ArgumentNullException(nameof(key)); var config = GetConfig(namespaces); ) { var value = GetDefaultValue(key, defaultValue, namespaces); return

    96240发布于 2019-08-07
  • 来自专栏程序技术知识

    go : kubernetes/client-go 体验

    fmt.Println("Creating Namespaces...") = nil { panic(err) } fmt.Printf("Created Namespaces %s on %s\n", result.ObjectMeta.Name, result.ObjectMeta.CreationTimestamp) // 获取指定名称的 Namespaces 信息 fmt.Println("Getting Namespaces. 信息 fmt.Println("Deleting Namespaces...") = nil { panic(err) } fmt.Printf("Deleted Namespaces %s\n", name)}代码说明:1.获取k8s集群的config文件

    63230编辑于 2022-07-26
  • 来自专栏我的小碗汤

    curl 命令操作 Kubernetes API

    limit=1 curl --header "Authorization: Bearer $TOKEN" --insecure -X GET $APISERVER/api/v1/namespaces/ limit=1 curl --header "Authorization: Bearer $TOKEN" --insecure -X GET $APISERVER/api/v1/namespaces/ /RESOURCETYPE/NAME/SUBRESOURCE /apis/GROUP/VERSION/namespaces/NAMESPACE/RESOURCETYPE/NAME/SUBRESOURCE 查看扩展api里的资源deployments:: curl http://127.0.0.1:8001/apis/extensions/v1beta1/namespaces/kube-system/ http://127.0.0.1:8001/api/v1/namespaces/test/pods?

    7.6K30发布于 2019-10-15
  • 来自专栏Go与云原生

    istio-in-action - 01 安装 docker-k3s-istio 开发环境

    ' alias kgall='kg --all-namespaces' alias kgcj='kubectl get cronjob' alias kgcm='kubectl get configmaps ' alias kgcma='kubectl get configmaps --all-namespaces' alias kgd='kubectl get deployment' alias kgda ='kubectl get deployment --all-namespaces' alias kgds='kubectl get daemonset' alias kgdsw='kgds --watch ' alias kgno='kubectl get nodes' alias kgns='kubectl get namespaces' alias kgp='kubectl get pods' alias kgpa='kubectl get pods --all-namespaces' alias kgpall='kubectl get pods --all-namespaces -o wide' alias

    59320编辑于 2022-12-24
  • 来自专栏Cyylog技术

    Kubernetes常用命令

    pod_name] - o yaml --export > nameoffile.yaml $ kubectl get pods -- field-selector status.phase=Running Namespaces get svc - o yaml $ kubectl get svc --show-labels DaemonSets $ kubectl get ds $ kubectl get ds --all-namespaces $ kubectl get roles --all -namespaces -o yaml Secrets $ kubectl get secrets $ kubectl get secrets -- all -namespaces $ kubectl get secrets -o yaml ConfigMaps $ kubectl get cm $ kubectl get cm --all-namespaces $ kubectl get cm --all-namespaces -o yaml Ingress $ kubectl get ing $ kubectl get ing --all-namespaces

    77630发布于 2020-08-19
  • 来自专栏10km的专栏

    gsoap入门:解决axis2服务器返回错误

    貌似是因为soap.namespaces变量为NULL造成的,再运行程序证实了这个猜测,soap.namespaces果然为NULL; 于是尝试在soap对象创建后,添加如下代码,问题解决。 soap->namespaces) soap->namespaces=namespaces; // namespaces变量定义在#include "FaceDbServiceSoap11Binding.nsmap 于是想到跟踪soap对象的代码,看看namespaces变量是怎么被初始化的。 // namespaces变量定义在#include "FaceDbServiceSoap11Binding.nsmap" soap_set_namespaces(&soap , namespaces); // 下面省略的代码与以前相同 .....

    2K10发布于 2019-05-25
  • 来自专栏腾讯云容器专家服务的专栏

    tke案例-快速排查ingress 不通问题

    node port 和cluster ip 两种场景) --> 4、查看 clb状态    1、 查看pod 和服务端口状态 1.1 pod 状态异常 kubectl get pod -n {namespaces } -o wide kubectl describe pod -n {namespaces}   如果pod 状态异常, 解决pod 问题再测试 1.2 pod 端口 不通  源访问端  } 2.1  ep异常:        查看pod 是否ready kubectl describe pod -n {namespaces} {pod-name} kubectl get event -n {namespaces}         查看svc 和workload/pod yaml 文件label/select 是否一致 kubectl get svc -o yaml -n {namespaces} {svc-name} kubectl get pod -o yaml -n {namespaces} {pod-name} 3、查看svc 是否正常

    3.3K400发布于 2020-11-06
  • 来自专栏运维开发王义杰

    Python:如何处理和解析PowerShell CLIXML数据

    ): for ms in obj.findall('ps:MS', namespaces): action_msg = ms.find('. //ps:AV', namespaces) status = ms.find('. //ps:T', namespaces) if action_msg is not None: results['Action Messages' ): for ms in obj.findall('ps:MS', namespaces): action_msg = ms.find('. //ps:AV', namespaces) status = ms.find('.

    51710编辑于 2024-04-15
  • 来自专栏MoeLove

    彻底搞懂容器技术的基石:namespace(下)

    User namespaces User namespaces 顾名思义是隔离了用户 id、组 id 等。 使用 user namespaces 需要内核支持 CONFIG_USER_NS 选项。 UTS namespaces UTS namespaces 隔离了主机名和 NIS 域名。 使用 UTS namespaces 需要内核支持 CONFIG_UTS_NS 选项。 文件名称 限制内容说明 max_cgroup_namespaces 在 user namespace 中的每个用户可以创建的最大 cgroup namespaces 数 max_ipc_namespaces namespaces 数 max_net_namespaces 在 user namespace 中的每个用户可以创建的最大 network namespaces 数 max_pid_namespaces time namespaces 数 max_user_namespaces 在 user namespace 中的每个用户可以创建的最大 user namespaces 数 max_uts_namespaces

    1.3K50编辑于 2021-12-15
领券