美文网首页
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