Kubernetes
Kubernetes
亦良Cool
数通工程师一枚,喜欢编程和运维,记录学习中遇到的问题和相关的知识。博客用于记录、收藏、分享、学习等。
展开
-
DevOps的介绍及常见的几种工具
一、DevOps的介绍DevOps是Development和Operations的组合可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。传统的软件组织将开发、IT运营和质量保障设为各自分离的部门。在这种环境下如何采用新的开发方法(例如敏捷软件开发),这是一个重要的课题:按照从前的工作方式,开发和部署不需要IT支持或者QA深入的、跨部门的支持,而却需要极其紧密的多部门协作。然而DevOps考虑的还不止是软件部署。它是一套针对这几个部门间沟通与协作问题的流程和方法。需要频繁交付原创 2020-06-19 19:06:29 · 5798 阅读 · 0 评论 -
Kubernetes学习及各组件的介绍
一、Kubernetes简介Kubernetes是Google于2014年开源的一个容器编排工具,使用Google自己的go语言编写,由Borg衍生而来。Borg是Google内部已经运行近十年的容器编排工具,由于docker的横空出世,导致Google原本准备作为秘密武器的容器技术胎死腹中。计划被打乱,容器层面已经痛失良机,慢人一步,只有在编排工具层面下手了,Google当机立断,基于Brog的逻辑编写了Kubernetes,开源并捐给了CNCF(云远程计算基金会),由于Google近十年的使用经验,原创 2020-06-18 22:07:40 · 404 阅读 · 0 评论 -
Kubernetes介绍:为什么选择 Kubernetes
什么是 KubernetesKubernetes 是 Google 2014 年创建管理的,是 Google 10 多年大规模容器管理技术 Borg 的开源版本。Kubernetes 是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。使用 Kubernetes 我们可以:快速部署应用快速扩展应用无缝对接新的应用功能节省资源,优化硬件资源的使用Kubernetes 的目标是促进完善组件和工具的生态系统,以减轻应用程序在公有云或私有云中运行的负担。特点原创 2020-09-30 19:41:37 · 460 阅读 · 0 评论 -
Kubernetes集群架构:如何理解Kubernetes的架构?
架构介绍Master节点组件构成1、etcdetcd是k8s集中的状态存储,所有的集群状态数据,如集群节点、pod状态、发布配置等。etcd它本身是一个分布式数据库,如果要配置它的高可用最少要3个节点。etcd可以单独部署,也可以和master在一起。2、API serverAPI server 它是k8s的通讯接口和命令总线,无论是kubectl、dashboard、sdks操作k8s背后都是通过API server 交互的。API server是唯一可以直接访问etcd的组件,其他组件原创 2020-10-04 14:52:42 · 432 阅读 · 0 评论 -
kubeadm部署Kubernetesv1.18.5版本的详细过程
kubeadm部署v1.18.5版本的详细过程参考资料:1.18.5 https://www.cnblogs.com/lizhewei/p/13366172.html1.18.6 https://www.cnblogs.com/smlile-you-me/p/13489642.html一、部署前的准备准备3台主机名称主机操作系统硬件配置ip地址master01CentOS7.7最小化安装2CPU/内存2G/100G10.10.30.40work01Cen原创 2020-10-02 19:12:31 · 888 阅读 · 0 评论 -
kubernetes—国内源拉取kubernetes镜像(内含重新打标签脚本)
国内源拉取kubernetes镜像,重新打标签脚本查看创建集群需要的镜像版本[root@master01 ~]# kubeadm config images list --kubernetes-version v1.18.5W1002 17:38:41.720837 6123 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kube原创 2020-10-02 17:43:17 · 2594 阅读 · 0 评论 -
Kubernetes集群—Calico的介绍和部署
容器网络概述容器网络是容器选择连接到其他容器、主机和外部网络的机制。容器的 runtime 提供了各种网络模式,每种模式都会产生不同的体验。例如,Docker 默认情况下可以为容器配置以下网络:none: 将容器添加到一个容器专门的网络堆栈中,没有对外连接。host: 将容器添加到主机的网络堆栈中,没有隔离。default bridge: 默认网络模式。每个容器可以通过 IP 地址相互连接。自定义网桥: 用户定义的网桥,具有更多的灵活性、隔离性和其他便利功能。什么是 CNICNI(Cont原创 2020-10-06 15:33:47 · 1497 阅读 · 0 评论 -
kubernetes集群节点的查询、移除与加入
一、获取节点信息kubectl get node[root@master01 ~]# kubectl get nodeNAME STATUS ROLES AGE VERSIONmaster01 Ready master 16h v1.18.5work01 Ready <none> 14h v1.18.5work02 Ready <none> 14h v1.18.5获取更多的信息后原创 2020-10-06 14:08:14 · 1691 阅读 · 0 评论 -
Kubernetes资源清单:YAML的基础编写
Kubernetes中的Pod一般都是采用yaml编写apiVersion: group/apiversion # 如果没有给定 group 名称,那么默认为 core,可以使用 kubectl api-versions # 获取当前 k8s 版本上所有的 apiVersion 版本信息( 每个版本可能不同 )kind: #资源类别metadata: #资源元数据 name namespace lables annotations # 主要目的是方便用户阅读原创 2020-10-04 20:33:38 · 474 阅读 · 0 评论 -
Kubernetes集群功能演示:deployment的管理和kubectl的使用
接下来我们创建一个deployment,来供我们学习使用。vim nginx-deployment.yaml复制下面的代码到里面去,这里粘贴过程中会出现的缩进错乱的问题。进入vim 编辑模式前输入:set paste解决缩进错乱的问题。# API 版本号apiVersion: apps/v1# 类型,如:Pod/ReplicationController/Deployment/Service/Ingresskind: Deploymentmetadata: # Kind 的名称 n原创 2020-10-06 15:54:44 · 1739 阅读 · 0 评论 -
Kubernetes集群架构:核心概念和应用——NodePort Service
Service在K8S中也有类似反向代理这么一个抽象的概念,专业的叫法叫 “service”。为了解释k8s中service中的概念,我们先回顾一下传统反向代理的概念。它的作用是把后端服务器暴露出去,而且还有负载均衡的效果。service中的反向代理和路由机制和传统的作法是不一样的。路由机制是有selector和labels来实现的。Selector和Labels的作用请求会转发到nginx标签的pod,不会转发到apache上面。selector的类型nodeport:selector原创 2020-10-04 22:16:01 · 438 阅读 · 0 评论 -
Kubernetes中Pods的详细介绍
Pod 是什么?pod (就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器(例如 Docker 容器),这些容器有共享存储、网络、以及怎样运行这些容器的声明。Pod 的内容总是共同定位和共同调度,并且在共享的上下文中运行。 Pod 以特定于应用的“逻辑主机”为模型,它包含一个或多个应用容器,这些容器是相对紧密的耦合在一起;在容器出现之前,在相同的物理机或虚拟机上运行意味着在相同的逻辑主机上运行。虽然 Kubernetes 支持多种容器运行时,但 Docker 是最常见的一种运行时,它有助于描述 Doc原创 2020-10-04 19:17:23 · 3018 阅读 · 0 评论 -
Kubernetes各种资源对象的定义——Pod资源定义
Kubernetes各种资源对象的定义——Pod资源定义Kubernetes里的所有资源对象都可以采用yaml或者JSON格式的文件来定义或描述,下面是一个简单的Pod资源定义文件:apiVersion: v1kind: Podmetadata: name: myweb labels: name: mywebspec: containers: - name: myweb image: kubeguide/tomcat-app: v1 ports: -原创 2020-10-05 14:35:18 · 702 阅读 · 0 评论 -
Kubernetes—容器创建和Pod
Kubernetes 之 容器创建和PodPodPod 是 Kubernetes 中最重要的概念之一,Pod 是 Kubernetes 中最小的调度对象,容器的本质是进程,而我们知道,Linux 进程组之间,在这个语境环境下,父进程、子进程,线程之间共享文件、信号、数据内存、紧密一起的完成一个程序的工作。前面已经说了容器的本质是进程,一个容器只能有一个进程,比如一个运行着 java -jar snap.shot.jar 的 java web 容器,这个容器对应的进程就是这个java 命令,但其实这个容原创 2020-10-04 20:20:01 · 465 阅读 · 0 评论 -
Kubernetes:Pod状态及生命周期
Kubernetes:Pod状态及生命周期待写原创 2020-10-13 16:22:01 · 248 阅读 · 0 评论 -
Kubernetes:私有镜像仓库Harbor2.1.0部署
Kubernetes:私有镜像仓库harbor搭建原创 2020-10-08 15:13:37 · 697 阅读 · 2 评论 -
Kubernetes集群:命名空间(Namespace)
什么是Namespace?你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。 他们可以为您和您的团队提供组织,安全甚至性能方面的帮助!“default” Namespace大多数的Kubernetes中的集群默认会有一个叫default的namespace。实际上,应该是3个:default:你的service和app默认被创建于此。kube-system:kubernetes系统组件使用。ku原创 2020-10-10 11:21:09 · 4728 阅读 · 0 评论 -
kubernetes集群——暴露service供外部访问的4种方法
kubernetes集群——暴露service供外部访问的4种方法:NodePortLoadBalancerExternalName分配公有IP一、service介绍Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)二、Service的类型ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访原创 2020-10-13 16:15:16 · 6282 阅读 · 0 评论 -
使用 Kubernetes Ingress 对外暴露服务
本文主要介绍如何通过 Kubernetes Ingress 资源对象实现从外部对 k8s 集群中服务的访问,介绍了 k8s 对外暴露服务的多种方法、Ingress 及 Ingress Controller 的概念。涉及到的话题有:k8s 对外暴露服务的方法;Ingress 及 Ingress Controller 简介;helm 裸机部署 Nginx Ingress Controller;使用 Ingress 对外暴露服务;通过 Ingress 访问 kubernetes dashboard(支原创 2020-10-06 18:04:57 · 694 阅读 · 1 评论