LOADING

加载过慢请开启缓存 浏览器默认开启

Kubernetes学习笔记

Kubernetes作用

使用Docker我们将容器部署到单个主机上,但是当我们需要部署到多个主机上时,就需要使用Kubernetes来管理容器了。Kubernetes是一个开源的容器编排引擎,可以实现容器的自动化部署、弹性伸缩、服务发现和负载均衡等功能。

Kubernetes客户端使用API和Kubernetes集群交互,后者负责管理容器的运行状态,包括创建、销毁、调度、扩容等。

Kubernetes客户端与控制平面交互,控制平面管理一个由多个节点组成的集群中的容器化应用程序,应用程序作为Pod部署到集群的节点上。

Kubernetes命令

在docker上创建一个名为Polar的Kubernetes集群,并声明cpu和内存大小,使用以下命令:

minikube start --cpus 2 --memory 4g --dirver=docker --profile=Polar

获取集群中的节点信息,使用以下命令:

kubectl get nodes

列出可以与之交互的所有可用上下文

kubectl config get-contexts

停止指定集群

minikube stop --profile Polar

pod是Kubernetes中最小的部署单元,一个pod中可以包含一个或多个容器,pod中的容器共享网络和存储资源,可以通过localhost进行通信。当从docker迁移到Kubernetes时,我们从管理容器切换到管理pod。

一个pod通常是由一个容器组成:

static final int MOD = (int) 1e9 + 7;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        PriorityQueue<BigDecimal> pq = new PriorityQueue<>((a, b) -> b.compareTo(a));
        for (int i = 0; i < n; i++) {
            long x = sc.nextInt();
            pq.offer(BigDecimal.valueOf(x));
        }
        BigDecimal ans = BigDecimal.valueOf(0);
        while (k-- > 0) {
            BigDecimal x = pq.poll(), y = pq.poll();
            pq.offer(x.multiply(y));
            pq.offer(BigDecimal.valueOf(1));
        }
        while (!pq.isEmpty()) {
            ans = ans.add(pq.poll());
        }
        System.out.println(ans.divideAndRemainder(BigDecimal.valueOf(MOD))[1]);
    }
本文作者:GWB
当前时间:2023-11-09 11:11:10
版权声明:本文由gwb原创,本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 国际许可协议。
转载请注明出处!