Kubernetes/4.Kubernetes快速入门

Kubernetes快速入门

通过本章节的学习,你可以充分了解到一个https的kubernetes集群中所需的证书及其作用,以及kubernetes语境内的api资源类型,最后我还补充了几个基础的GET命令,此时你可以登录到上一章节我们使用kubeadm创建的集群,进行一些查询操作了。

  • 证书管理
  • API资源模型
  • API资源类型
  • 命令补充
  • 备注

证书管理

k8s于生产环境运行时,我强烈建议大家运行在https的安全环境下,其证书可分为以下三大类:

root CA:

  • apiserver:apiserver自己的证书
  • apiserver-kubelet-client:kubelet客户端连接apiserver时的客户端证书

etcd CA:

  • etcd-server:etcd服务端证书
  • etcd-peer:etcd对等证书,用于etcd集群间https通信
  • etcd-healthcheck-client:etcd健康检查的客户端证书
  • apiserver-etcd-client:apiserver连接etcd的客户端证书

front-proxy CA:

  • front-proxyserver-client:apiserver(中的聚合器aggregator)于前端的客户端证书

你需要注意的是:
1) k8s集群证书默认有效期是90天,你有2个办法去调整(修改go源文件或者证书签名请求生成时声明,如何修改我后面章节会说)
2) 证书的过期时间,你可以到/etc/kubernetes/pki目录下,使用以下命令进行查看:

openssl x509 -in front-proxy-client.crt   -noout -text  |grep Not
            Not Before: Nov 28 09:07:02 2018 GMT
            Not After : Nov 25 09:07:03 2028 GMT

openssl x509 -in apiserver.crt   -noout -text  |grep Not
            Not Before: Nov 28 09:07:04 2018 GMT
            Not After : Nov 25 09:07:04 2028 GMT

API资源模型

RESTfulAPI的核心组件是“资源(resource)”,不同类别的事物会被抽象会不同“类型(type)”的资源。
k8s中的资源也类似于对象式编程语言中的“类"(class),但它仅支持有限的方法,而且通常是标准的HTTP方法,例如:GET、PUT、POST和DELETE;此时,你应该可以联想到常用的基础命令kubelet:

kubectl get pod
kubectl delete node
...
  • 为了便于独立进行版本演进,Kubernetes将API划分为了称为“API群组”的逻辑集合,每个群组的REST路径为“/apis/$GROUP_NAME/$VERSION”,例如/apis/apps/v1;
  • 核心群组core使用简化的REST路径/api/v1;
  • 同时,每个群组可同时存在多个不同级别的版本,主要包括alpha、beta和stable三个,使用的级别标识如v1alpha1、v1beta2和v1等。

你可以通过api-versions命令查询当前所支持的API版本:

[[email protected] cds-filesystem]# kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1
apps/v1beta1
apps/v1beta2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

API资源类型

如图所示,Kubernetes系统把管理的绝大多数事物都抽象成了资源,它们分别代表着不同的事物类型,例如:Node、Service、Pod、Controller等等

  • 每种类型均可通过“属性赋值”进行实例化,从而构建出“对象(object);
  • 对象主要用于描述要在集群中运行的“应用程序(Pod)”,以及应用程序相关的控制(controllers)、配置(ConfigMap和Secret)、服务暴露(Service和Ingress)、存储(Volume)等;
  • 用户使用这些对象来规划、部署、配置、维护和监控应用程序并记录运行日志;
  • 每种类型的资源对象都支持相应的一组方法(管理操作),它们可用标准的HTTP Verb进行表示,例如:GET、PUT、DELETE和POST等。

命令补充

    获取集群资源列表:
        kubectl  api-resources

    获取命名空间:
        kubectl  get ns

    创建deployment:
        kubectl create deployment ngx-new --image=nginx

    查看service信息:
         kubectl describe svc ngx-new
    ...

备注

本文原址位于我的Github,我会陆续将所有专题更新过来,其中包括docker、k8s、ceph、istio和prometheus,旨在分享云原生中大而全的技术知识点和实操过程,如果对你有用,请follow、star我的github,这也是我更新、分享下去的动力,谢谢~

原文地址:https://blog.51cto.com/qishiding/2463071

时间: 2024-10-07 23:27:57

Kubernetes/4.Kubernetes快速入门的相关文章

Kubernetes零基础快速入门!初学者必看!

起源 Kubernetes 源自于 google 内部的服务编排系统 - borg,诞生于2014年.它汲取了google 十五年生产环境的经验积累,并融合了社区优秀的idea和实践经验. 名字 Kubernetes 这个名字,起源于古希腊,是舵手的意思,所以它的 logo 即像一张渔网又像一个罗盘,谷歌选择这个名字还有一个深意:既然docker把自己比作一只鲸鱼,驮着集装箱,在大海上遨游,google 就要用Kubernetes去掌握大航海时代的话语权,去捕获和指引着这条鲸鱼按照主人设定的路线

4、kubernetes资源清单快速入门190625

一.资源清单概念 资源/对象的类型 工作负载型资源:Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet, Job, Cronjob, ... 服务发现及均衡性资源:Service, Ingress, ... 配置与存储型资源:Volume, CSI, ConfigMap, DownwardAPI 集群级资源:Namespace, Node, Role, ClusterRole, RoleBinding, ClusterRoleBinding 元

kubernetes系列教程(三)kubernetes快速入门

写在前面 kubernetes中涉及很多概念,包含云生态社区中各类技术,学习成本比较高,k8s中通常以编写yaml文件完成资源的部署,对于较多入门的人来说是个较高的门坎,本文以命令行的形式代理大家快速入门,俯瞰kubernetes核心概念,快速入门. 1. 基础概念 1.1 集群与节点 kubernetes是一个开源的容器引擎管理平台,实现容器化应用的自动化部署,任务调度,弹性伸缩,负载均衡等功能,cluster是由master和node两种角色组成,其中master负责管理集群,master节

在线培训 | Kubernetes部署与使用入门

容器技术凭借其轻量化和快速部署的特性,被越来越多企业开发者赞誉,近两年来发展态势可谓炙手可热. 去年一年,Kubernetes的流行度持续快速上升,我们有理由相信在不远的未来,Kubernetes将成为通用的基础设施标准. 开源的全栈化企业级容器管理平台Rancher,凭借优异的基础设施服务管理能力和强大的容器协调能力,让用户在生产环境中的容器部署.运行与管理工作变得更加简单.加上Rancher创造性的纳管来自不同基础架构的Kubernetes集群的能力,为企业在生产环境落地Docker与Kub

Kubernetes 1 3 从入门到进阶 安装篇(2)

Kubernetes 1.3 从入门到进阶 安装篇: kubernetes-ansible 上一篇文章我们介绍了使用minikube快速部署kubernetes1.3到单机上. 多台机器构成的集群,本次介绍kubernetes-ansible来进行安装.ansible是自动化部署一大神器,接下来就让我们来看看使用神器的效果吧. 构成说明 master和etcd共用一台机器,只有一个minion的超级mini构成,只是为演示只用. No type IP OS 1 master 192.168.32

kubernetes之Kubeadm快速安装v1.12.0版

通过Kubeadm只需几条命令即起一个单机版kubernetes集群系统,而后快速上手k8s.在kubeadm中,需手动安装Docker和kubeket服务,Docker运行容器引擎,kubelet是启动Pod的核心组件,每一个节点都安装好kubelet和Docker,那么运行容器和Pod的环境就准备好了,在此基础之上,使用Kubeadm工具自动配置kubelet并启动kubelet服务,将Master所有组件和Node上剩余的kube-proxy组件都运行为Pod,托管在k8s之上. 服务器规

Kubernetes 1 3 从入门到进阶 安装篇(1)

Kubernetes 1.3 从入门到进阶 安装篇:minikube Kubernetes单机运行环境一直是一个没有得到重视的问题.现在我们有了minikube,一个用go语言开发的可以在本地运行kubernetes的利器,不过目前应该只是支持kubernetes1.3.如果你只有一台机器或者虚拟机又想试验一下Kubernetes的新的功能,或者作kubernetes上开发的本地环境,minikube可能是你不错的选择. 下载minikube并设定 下载的时候突然发现版本已经是0.7.0了,发现

15分钟在阿里云Kubernetes服务上快速建立Jenkins X Platform并运用GitOps管理应用发布

本文主要介绍如何在阿里云容器服务Kubernetes上快速安装部署Jenkins X Platform并结合demo实践演示GitOps的操作流程. 注意:本文中使用的jx工具.cloud-environments等做过改造用以适配阿里云Kubernetes容器服务,并未在自建Kubernetes集群中做过验证. 先决条件:首先,需要在 阿里云容器服务控制台 创建一个Kubernetes集群,本次实践使用的环境信息如下:master1 192.168.0.119master2 192.168.0

[kubernetes] 使用 Minikube 快速搭建本地 k8s 环境 (基于 Docker 驱动模式)

一.实验环境 操作系统:Centos 7 x86_64 Docker:1.12.6 二.部署 k8s 步骤 2.1  安装 kubectl cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgch