0
点赞
收藏
分享

微信扫一扫

3. K8S集群安装及资源介绍

Alex富贵 2022-04-15 阅读 58
kubernetes

文章目录

1. k8s集群安装

  一种是通过Play with K8S网站,在线体验k8s集群的使用,无需自行安装虚拟机及相关镜像文件。具体过程可参考:在线免费搭建k8s集群体验

  另一种通过在虚拟机上自行安装多个系统并进行配置,其中可能会遇到多个虚拟机之间的网络通信问题等,主要可参考Blog①和②,在虚拟机上搭建k8s集群主要参考Blog③和④ ,本人使用的是CentOS 7 64位系统,k8s版本为v1.18.0。

参考Blog①:CentOs7网络配置

参考Blog②:虚拟机安装centos7并配置网络

参考Blog③:虚拟机从零搭建k8s集群

参考Blog④:kubernetes 集群搭建(kubeadm 方式)

XShell的安装和使用

2. K8S中的资源介绍

2.1 资源简介

K8S中所有的内容都抽象为资源,资源实例化之后叫做对象。

2.2 资源清单

K8S 中一般用 yaml 格式文件创建符合预期期望的 pod ,将 yaml 文件一般称为资源清单。关于YAML文件的格式查看其他文档。

资源清单格式

apiVersion: group/apiversion # 如果没有给定 group 名称,那么默认为 core,可以使用 kubectl apiversions # 获取当前 k8s 版本上所有的 apiVersion 版本信息( 每个版本可能不同 )
kind: Pod #资源类别
metadata: #资源元数据
  name:
  namespace:
  lables:
  annotations: # 主要目的是方便用户阅读查找
spec: # 期望的状态(disired state)
status:# 当前状态,本字段有 Kubernetes 自身维护,用户不能去定义
#---------------------可以看下面的一个例子
apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  namespace: default
  labels:
    app: myapp
    version: v1
spec:
  containers:
  - name: app
    image: hub.aiguigu.com/library/myapp:v1
#创建pod.yaml文件之后,终端运行如下命令即可创建pod
kubectl apply -f pod.yaml
#或者采用如下命令
kubectl create -f pod.yaml

资源清单的常用命令

# 获取 apiversion 版本信息
kubectl api-versions
# 获取资源的 apiVersion 版本信息
kubectl explain pod
kubectl explain Ingres
# 获取字段设置帮助文档
kubectl explain pod
kubectl explain pod.version
### 字段配置格式
apiVersion <string> #表示字符串类型
metadata <Object> #表示需要嵌套多层字段
labels <map[string]string> #表示由k:v组成的映射
finalizers <[]string> #表示字串列表
ownerReferences <[]Object> #表示对象列表
hostPID <boolean> #布尔类型
priority <integer> #整型
name <string> -required- #如果类型后面接 -required-,表示为必填字段

通过定义清单文件创建 Pod

apiVersion: v1
kind: Pod
metadata:
  name: pod-demo
  namespace: default
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-1
    image: hub.atguigu.com/library/myapp:v1
  - name: busybox-1
    image: busybox:latest
    command:
    - "/bin/sh"
    - "-c"
    - "sleep 3600"
kubectl get pod xx.xx.xx -o yaml
# <!--使用 -o 参数 加 yaml,可以将资源的配置以 yaml的格式输出出来,也可以使用json,输出为json格式-->
举报

相关推荐

0 条评论