doker+k8s
文章平均质量分 88
前期讲基础,后期做项目
givenchy_yzl
早安
午安
晚安
——一个不配拥有晚安的追梦人
展开
-
k8s集群驱逐node节点上的pod
[root@k8s-master1 ~]# kubectl drain k8s-node2 --delete-local-data --force --ignore-daemonsetsnode/k8s-node2 already cordonedWARNING: ignoring DaemonSet-managed Pods: efk/fluentd-es-nfgbj, ingress-nginx/nginx-ingress-controller-cpxtl, kube-system/calico-n转载 2021-08-29 09:46:28 · 1539 阅读 · 0 评论 -
ingress详解
ingressingress是基于域名的网络转发资源,ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP和HTTPS。Ingress 可以提供负载均衡、SSL 和基于名称的虚拟托管。必须具有 ingress 控制器【例如 ingress-nginx】才能满足 Ingress 的要求。仅创建 Ingress 资源无效。在生产环境中常用的Ingress有Treafik、Nginx、HAProxy、Istio等nginx ingress : 性能强trae原创 2021-08-18 17:14:10 · 7145 阅读 · 0 评论 -
kubernetes配置中心
k8s配置中心在生产环境中经常会遇到需要修改配置文件的情况,传统的修改方式不仅会影响到服务的正常运行,而且操作步骤也很繁琐。为了解决这个问题,kubernetes项目从1.2版本引入了ConfigMap功能,ConfigMap && Secret 是K8S中的针对应用的配置中心,它有效的解决了应用挂载的问题,并且支持加密以及热更新等功能,可以说是一个k8s提供的一件非常好用的功能。configmapconfigmap用于将应用的配置信息与程序的分离。这种方式不仅可以实现应用程序被的复用原创 2021-08-11 12:22:36 · 951 阅读 · 0 评论 -
k8s数据持久化(存储卷)
数据持久化我们知道,Pod是由容器组成的,而容器宕机或停止之后,数据就随之丢了,那么这也就意味着我们在做Kubernetes集群的时候就不得不考虑存储的问题,而存储卷就是为了Pod保存数据而生的。存储卷的类型有很多,我们常用到一般有四种:**emptyDir,hostPath,NFS以及云存储(ceph, glasterfs…)**等。emptyDir(容器与容器的数据共享)emptyDir类型的volume在pod分配到node上时被创建,kubernetes会在node上自动分配 一个目录,因此无原创 2021-08-11 09:21:47 · 820 阅读 · 0 评论 -
健康检查、回调hook
健康检查怎样保证pod中的容器正常启动?1、检查pod中容器是否能够正常启动pod中所有容器的status=Running时,Pod的状态才会是Running状态。当存活性探针检测失败的时候,kebulet会删除容器,重新启动一个新的容器。继续检查。2、怎样保证pod中容器能够正常对外提供服务?只有容器启动了并且能够正常对外提供服务了,才能放到负载均衡上供给用户访问提到健康检查就不得不提探针了,他们是做检查的主要劳动力容器探针Probe 是由 kubelet 对容器执行的定期诊断。 要执行原创 2021-08-07 15:15:33 · 203 阅读 · 0 评论 -
用阿里云构建海外镜像
一、背景使用docker或者k8s的过程中,我们可能遇到镜像无法下载的情况,例如:kubernetes中的kube-apiserver镜像,这是因为其仓库在海外,我们的网络被阻挡,我们无法获取到该资源,使用合法的方式,成本又太高,今天小编来分享一个简单而又实用的海外镜像构建方法。二、构建步骤#进入自己的命名空间,创建镜像仓库#编辑kube-apiserver的Dockerfile1. 登录阿里云Docker Registrydocker login --username=sm原创 2021-08-02 21:19:55 · 972 阅读 · 1 评论 -
service详解
service(智能负载均衡器)service主要是提供负载均衡和服务自动发现。它是 k8s 中最核心的资源之一, 每一个 Service 就是我们平常所说的一个“微服务”。如上图所示,Kubernetes 的 Service 定义了一个服务的访问入口,前端的应用(Pod)通过这个入口地址访 问其背后的一组由 Pod 副本组成的集群实例,Service 与其后端的 Pod 副本集群之间是通过 Label 来 实现关联的,而 Deployment 则是保证 Service 的服务能力和服务质量始终处于原创 2021-08-02 09:06:17 · 989 阅读 · 0 评论 -
kubernetes之节点详解
一、节点概述Kubernetes 通过将容器放入在节点(Node)上运行的 Pod 中来执行你的工作负载。 节点可以是一个虚拟机或者物理机器,取决于所在的集群配置。 每个节点包含运行 Pods 所需的服务; 这些节点由 控制面 负责管理。通常集群中会有若干个节点;而在一个学习用或者资源受限的环境中,你的集群中也可能 只有一个节点。节点上的组件包括 kubelet、 容器运行时以及 kube-proxy。二、节点管理向 API 服务器添加节点的方式主要有两种:1.节点上的 kubelet 向控制面原创 2021-08-01 15:20:38 · 1324 阅读 · 0 评论 -
docker composer
Docker-compose简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是项目(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个项目,若无特殊指定项目名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参原创 2021-08-01 15:18:59 · 1597 阅读 · 0 评论 -
k8s的名称空间、标签、deployment、控制器、弹性伸缩
一、k8s中的名称空间k8s中名称空间是用来隔离集群资源,而k8s中的资源也分为名称空间级资源以及集群级资源。kubectl是k8s客户端,它跟k8s没有任何关系。kubectl get [资源名称] 获取集群资源的命令#获取名称空间[root@k8s-m-01 ~]# kubectl get namespaceNAME STATUS AGEdefault Active 5d16hkube-node-lease Active 5d原创 2021-07-28 09:42:01 · 1113 阅读 · 0 评论 -
kubernetes-常用命令集
k8s常用指令集(kubectl kubeadm)官方指令文档官方常用指令基础命令准备文件[root@m01 ~]# vim wordpress.yaml apiVersion: v1kind: Podmetadata: name: wordpressspec: containers: - name: nginx image: nginx - name: php image: alvinos/php:v2-fpm-mysql - n原创 2021-07-26 11:01:08 · 752 阅读 · 1 评论 -
pod详解
k8sk8s是一个容器化管理平台PODk8s集群中部署的最小单元。Pod最主要的功能是管理将一个业务或者一个调用链的所有服务(容器)Pod的生命周期故从上图可知:主容器的作用:提供一个pod中的基础网络,提供共享存储,同时监控容器pod的生命周期:1、创建pod2、创建主容器3、依次创建业务容器4、执行启动回调5、进行探测6、执行结束回调钩子7、终止容器Pod的初体验注意!注意!注意!格式一定不可以出错# k8s配置清单apiVersionkind metadata原创 2021-07-15 19:48:06 · 1681 阅读 · 0 评论 -
kubernetes安装(二进制安装)
二进制部署环境初始化原创 2021-07-12 17:15:05 · 978 阅读 · 1 评论 -
kubernetes(k8s)介绍
一、介绍官方文档主页官方博客概述Kubernetes 是什么?Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。起源:Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。Kuberne原创 2021-07-07 19:19:12 · 313 阅读 · 0 评论 -
常见的几种部署方式
canary(金丝雀) 部署在亚马逊等地方实行“ 绿色环保”部署已有十多年了。 它们是一种安全,可靠的方法。 现在,蓝绿色的部署不是灵丹妙药,但对它们来说很有用。 但是,A / B测试呢? 甚至金丝雀测试? 在所有#microservices,DevOps和云原生的讨论中,有很多关于它们的讨论,但是我想澄清它们之间的区别。蓝绿色部署请欣赏Martin Fowler关于蓝绿色部署的链接 。 它给出了总体要点。 基本上,这是一种以可预测的方式发布应用程序的技术,目的是减少与发布相关的停机时间 。 这是在发原创 2021-07-07 12:11:32 · 4918 阅读 · 0 评论 -
k8s kubeadm高可用安装与部署
kubeadm安装服务器配置至少是2G2核的。如果不是则可以在集群初始化后面增加 --ignore-preflight-errors=NumCPU1、克隆机器192.168.1.55 m01192.168.1.56 n1192.168.1.57 n22、修改主机名称[root@k8s1 ~]# hostnamectl set-hostname m01[root@k8s2 ~]# hostnamectl set-hostname n1[root@k8s3 ~]# hostname原创 2021-07-06 21:08:19 · 1153 阅读 · 0 评论 -
用dockerfile搭建最简单的应用
搭建Wordpress下载项目包#下载worldpress官网最新安装包[root@docker1 opt]# wget https://wordpress.org/latest.zip#解压压缩包[root@docker1 opt]# unzip latest.zipdocker虚拟机上nginx配置#建立一个网桥[root@docker1 ~]# docker network create lnmp#创建三个文件夹[root@docker1 ~]# mkdir {nginx,ph原创 2021-06-28 19:59:26 · 393 阅读 · 0 评论 -
docker内存管理
docker内存限制默认docker容器可以使用宿主机所有的内存和CPU,我们可以通过 docker run 来限制内存和CPU的使用。如果在启动容器时只指定 -m 而不指定 –memory-swap,那么 –memory-swap 默以为 -m 的两倍。。如: docker run -m 200M –memory-swap=300M [镜像名称] [cmd]...原创 2021-06-24 19:13:40 · 432 阅读 · 0 评论 -
docker 构建镜像与dockerfile详解
Dockerfile 构建镜像Dockerfile 由一行行命令语句构成的一个创建docker镜像的配置文件, 并且支持以#开头的注释行。一般而言, Dockerfile 主体内容分为四部分:基础镜像信息(必须)、 维护者信息(1.18版本后已被淘汰)、 镜像操作指令和容器启动时执行指令。Docker 以从上到下的顺序运行 Dockerfile 的指令。为了指定基本镜像,第一条指令必须是 FROM。一个声明以#字符开头则被视为注释。可以在 Docker 文件中使用 RUN,CMD,FROM,EXPOSE原创 2021-06-24 16:06:37 · 220 阅读 · 0 评论 -
docker容器命令与docker网络详解
v3、 使用 Docker 容器3.1、 创建容器在 Docker 中,真正对外提供服务的还是容器,本小节咱们来创建一个容器。创建容器的格式:docker run [option] image [cmd][root@alvin-test-os ~]# docker run -d --name nginx -p 80:80 nginxUnable to find image 'nginx:latest' locally latest: Pulling from library/nginx 852原创 2021-06-17 20:12:31 · 1513 阅读 · 0 评论 -
docker基础
docker基础储备知识(什么是docker)docker背景:Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上 进行维护。Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker原创 2021-06-17 16:42:15 · 243 阅读 · 0 评论