• Kubernetes


    k8s由多个cluster组成,每个cluster长这样。
    components

    Kubernete cluster由control plane和node组成。

    • control plane起调度的作用
    • node主要干活

    control plane有以下服务

    • API server -- 接受外部请求,如kubectl发送的请求。
    • Backing store -- a high-availability, distributed, and reliable key-value store called etcd,保持cluster的当前和期望状态等
    • Scheduler -- 对node分配workload,监控新生成的container,再指定到node.
    • Controller manager -- 启动及监视controller,而controller用于监视node/container/endpoing.
    • Cloud controller manager -- 上云以后,使用云技术的controller manager。

    node有以下服务

    • Kubelet -- 接收API server发来的请求,监控本node的container干活。
    • Kube-proxy -- 负责本node的网络,如提供ip地址,实现routing/load balancing by iptables/ipvs。
    • Container runtime -- 通过Container Runtime Interface来管理container。

    有一个pod的概念,一个pod可以容纳一组container,比如website+mongodb这样两个container。
    components

    pod以yaml文件的方式(pod template)定义,然后k8s去下载/生成container。
    一个node可以有多个pod。

    在ubuntu上练习k8s

    • 安装MicroK8s(只支持一个cluster)。
      • sudo snap install microk8s --classic
    • 安装服务
      • sudo microk8s.status --wait-ready -- 默认一个服务都没启动
      • sudo microk8s.enable dns dashboard registry -- 启动3个服务
    • 给microk8s.kubectl加个别名kubectl,方便以后使用
      • sudo snap alias microk8s.kubectl kubectl
    • 看一下有哪些node和服务
      • sudo kubectl get nodes
      • sudo kubectl get services -o wide
      • sudo kubectl get services -o wide --all-namespaces
    • 安装nginx
      • sudo kubectl create deployment nginx --image=nginx -- 也可以通过文件的形式部署
      • sudo kubectl get deployments -- 显示已部署情况
      • sudo kubectl get pods -o wide -- 查看运行的pod, 可以运行wget 10.1.83.10测试
        NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
        nginx-86c57db685-dj6lz 1/1 Running 0 4m17s 10.1.83.10 microk8s-vm
    • 扩容到3个pod
      • sudo kubectl scale --replicas=3 deployments/nginx
        NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
        nginx-86c57db685-dj6lz 1/1 Running 0 7m57s 10.1.83.10 microk8s-vm
        nginx-86c57db685-lzrwp 1/1 Running 0 9s 10.1.83.12 microk8s-vm
        nginx-86c57db685-m7vdd 1/1 Running 0 9s 10.1.83.11 microk8s-vm
    • 卸载
      • sudo microk8s.disable dashboard dns registry
      • sudo snap remove microk8s
    --------------------------- 知道的更多,不知道的也更多 ---------------------------
  • 相关阅读:
    ComboBoxEdit 方法与属性设置
    Devpress.XtraGrid.GridControl 笔记
    C#中的多线程入门
    comboBox获取value中的值
    sql查询去掉以多列为条件的重复值
    DEV控件:gridControl常用属性设置
    C# MessageBox.Show 用法
    跨服务器与连接不同数据库 不跨服务器连接库存表
    无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象
    .Net Windows服务程序中获取安装程序所在目录
  • 原文地址:https://www.cnblogs.com/mryux/p/15255489.html
Copyright © 2020-2023  润新知