关于kubernetes:K8S-系列k8s-学习二kubernetes-核心概念及初步了解安装部署方式

9次阅读

共计 2642 个字符,预计需要花费 7 分钟才能阅读完成。

咱们再来回顾一下 K8S 集群架构的组件,在网上找一张集群架构图阐明一波

1、master 组件

  • apiserver

集群的对立入口,restful 的形式,最初交给 etcd 存储

  • shcheduler

节点调度,抉择 node 节点进行利用部署

  • controller-manager

解决集群中惯例后台任务,一个资源对应一个控制器

  • etcd

存储系统,用于保留集群相干的数据

2、node 组件,工作节点

  • kubelet

master 排到 node 节点代表,治理本机的容器

  • kube-proxy

提供网络代理,负载平衡等操作

k8s 外围概念

1、Pod

  • 最小部署的逻辑单元
  • 是一组容器的汇合
  • 共享网络
  • 生命周期短暂

2、controller

  • 确保预期的 Pod 正本数量
  • 无状态利用部署 / 有状态利用部署
  • 确保所有 node 运行同一个 Pod
  • 执行一次性工作和定时工作

3、service

  • 定义一组 Pod 的拜访规定

Kubernetes 装置形式:

  • 应用官网提供的 minikube
  • 应用 kubeadmin 进行部署,k8s 的部署工具,跑在 k8s 外面,这个应用起来绝对简略

kubeadmin 提供 kubeadmin init 和 kubeadmin join,用于疾速部署 k8s 集群

官网地址为:https://kubernetes.io/docs/re…

  • 本人应用 kubernetes 二进制形式装置部署(这种部署形式,咱们学习的时候肯定要走这个步骤,一步一步的去搭建,能力遇到很多问题,进而解决他,相熟他)

官网提供的 minikube

minikube

点击 Launch Terminal,能够查看到如下界面

官网给咱们提供的 minikube,版本是 v1.8.1

零碎是 Ubuntu 18.04

CPU 2 核

内存 2 G

磁盘 145 G 左右

Kubernetes 版本 v1.17.6

Docker 版本 19.03.6

咱们能够应用 kubectl get pods -n kube-system 查看一下 pod 节点

kubeadmin 进行部署

应用 kubeadmin 来进行部署,绝对应用二进制来部署就会简略容易一些,先来布局一下部署计划

平台布局

单 master 搭建形式

多 master 搭建形式

kubeadmin 开始部署

应用 kubeadmin 部署 k8s 环境,通过如下 2 条指令即可实现 kubernetes 的部署:

  • kubeadm init

创立一个 master 节点

  • kubeadm join <master 节点的 IP 和端口 >

将 node 节点退出到集群中

测试环境硬件要求

master 节点:2 核,2G,磁盘 20 G

node 节点:4 核,8G,磁盘 80 G

  • 一台或者多台机器,操作系统自选,能够是 ubuntu,能够是 centos
  • 硬件配置如上
  • 集群中所有的节点网络互通
  • 能够拜访外网,能够拉取镜像
  • 禁止 swap 分区

先来装置一下 kubectl

官网提供了 4 种形式来装置 kubecrl

  • 用 curl 在 Linux 零碎中装置 kubectl
  • 用原生包管理工具装置
  • 用其余包管理工具装置
  • 作为谷歌云 SDK 的一部分,在 Linux 中装置

咱们间接应用第 1 种:

1、用如下命令下载最新的 kubectl 版本

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

2、下载 kubectl 校验和文件

curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"

3、验证 kubectl 的可执行文件

echo "$(<kubectl.sha256) kubectl" | sha256sum --check

# echo "$(<kubectl.sha256) kubectl" | sha256sum --check
kubectl: OK

呈现上述情况,为验证通过

4、装置 kubectl

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

5、查看咱们装置的版本

kubectl version --client

# kubectl version --client
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"c2b5237ccd9c0f1d600d3072634ca66cefdf272f", GitTreeState:"clean", BuildDate:"2021-08-04T18:03:20Z", GoVersion:"go1.16.6", Compiler:"gc", Platform:"linux/amd64"}
  • GitVersion

git 的版本是 v1.22.0

  • GoVersion

go 的版本是 1.16.6

  • BuildDate

构建工夫为 2021-08-04T18:03,还算挺新

配置一下 kubectl 主动补全性能

kubectl 的主动补全性能依赖 bash-completion,因而须要咱们装置他

1、装置 bash-completion

apt-get install bash-completion

2、启动 kubectl 主动补全性能

~/.bashrc 中导入(source)补全脚本

echo 'source <(kubectl completion bash)' >>~/.bashrc

将补全脚本增加到目录 /etc/bash_completion.d

kubectl completion bash >/etc/bash_completion.d/kubectl

如果 kubectl 有关联的别名,你能够扩大 shell 补全来适配此别名

echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -F __start_kubectl k' >>~/.bashrc

kubernetes 的装置部署形式步骤绝对有点多,这个必须要本人一步一步的实际,否则是学不到货色的,大家能够多在官网上摸摸鱼

https://kubernetes.io/docs/ta…

参考资料:

kubernetes docs

欢送点赞,关注,珍藏

敌人们,你的反对和激励,是我保持分享,提高质量的能源

好了,本次就到这里

技术是凋谢的,咱们的心态,更应是凋谢的。拥抱变动,背阴而生,致力向前行。

我是 小魔童哪吒,欢送点赞关注珍藏,下次见~

正文完
 0