美文网首页
Kubernetes

Kubernetes

作者: Robin92 | 来源:发表于2020-03-23 00:37 被阅读0次

    基本概念

    • Kubernetes Cluster:集群;
    • Kubernetes Master:主节点。对整个集群进行管理,创建容器、自动发布等;
    • Node:节点,一个个的宿主机;
    • Pod:K8s中整个控制的最小单元(Docker 中是 Container);
    • Container:容器;
    • Service: 将 Pod 进行联通;
    • Label:说明性标签,用它来进行查找和筛选 Pod;
    • Replication Controller:对 Pod 的数量进行监控和维护(控制数量、自动重启等);
    • Kubelet:每个Pod 中一个。用于执行 k8s 相应的命令;
    • Kube-proxy:实现不同主机上 Pod 的通信。

    Pod(豆荚):

    • Pod 中可以有一个或多个、一种或多种容器,他们的关系就像豆荚与豆子(豆子还可以有黑豆有绿豆)的关系。
    • Pod 是 K8s 中小可部署单元;
    • 一个 Pod 就是一个进程;
    • 各个 Pod 内的容器天然互联互通;
    • 每个 Pod 有独立的虚拟 IP ,Pod 间无法直接联通;(需要通过 Service 来互通)
    • Pod 内 必须有一个 Pause 容器, Pause 的作用:1. 提供一个共享的网络,2. 提供一个共享的 Volume 空间
    k8s.png

    k8s 准备安装

    • 取两台电脑或虚拟机
    • 设置对应的 hostname :hostnamectl set-hostname <name> name 取 master 和 nodeN
    • 设置 /etc/hosts 文件及宿主机的对应关系
    • 关闭防火墙(生产环境不要关):
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    setenforce 0
    systemctl disable firewalld
    systemctl stop firewalld
    

    k8s 的安装

    (参考下VMware中玩centos遇到的问题
    安装方法有四种:

    • 使用 kubeadmin 通过离线镜像安装(推荐)
    • 购买阿里平台的 k8s
    • 二进制包进行安装(如 Github 的 kkubeasz,不推荐)

    部署 Deployment

    • 通过部署,K8s 向各 node 发送指令创建容器
    • 支持 yml 部署脚本
    • kubectl create -f xxx.yml 加载部署脚本,执行部署
    kubectl apply -f xxx.yml 按部署配置进行更新(或创建)部署
    kubectl get pod [-o wide] # 查看已部署 pod 列表
    kubectl describe pod <pod_name> # 查看 pod 详细信息
    kubectl logs [-f] <pod_name> # 查看 pod 输出日志
    

    相关文章

      网友评论

          本文标题:Kubernetes

          本文链接:https://www.haomeiwen.com/subject/ekamyhtx.html