随笔分类 -  K8S-Docker

摘要:前言 CoreDNS 近日在工作中修改DNS,由于CoreDNS pod数量比较多,习惯性的使用脚本批量重启,随之引发了nginx ingress的告警,有大量超时的请求发生,开始并未意识到是修改CoreDNS的原因,后来看故障时间与批量重启时间一致,才意识到是同一个问题,K8S 内部service 阅读全文
posted @ 2020-11-16 09:34 我是一条最咸的咸鱼 阅读(2393) 评论(0) 推荐(0)
摘要:日常工作中可能会有一种情况,为了方便,直接使用docker run启动一个容器运行,没有使用docker-compose这样的编排工具,也没有保存docker run的命令,导致我们在迁移或者有修改的时候,有大概率会出现不一致的情况。那么,能不能找回之前的run命令呢,答案是可以的。方法很多,笔者一般使用的是runlike命令来查看。安装pip# yum install -y python-pip... 阅读全文
posted @ 2020-10-13 23:32 我是一条最咸的咸鱼 阅读(20010) 评论(0) 推荐(0)
摘要:k8s需求日常工作中,所有项目都不是完美的,笔者就经常遇到这种情况,pod状态是running,但是程序却没有响应。发生这种情况的原因有很多种,有可能是因为k8s健康检查的原因,比如使用ps检查进程;或者是程序内部死循环,但是不退出;再或者网络闪断,程序无法重连等等。无论什么原因,都会有解决办法,但是优化需要时间,在未完全解决之前,问题不能不解决,于是想到了一个临时方案,因为笔者公司项目日志是直接... 阅读全文
posted @ 2020-09-16 13:52 我是一条最咸的咸鱼 阅读(631) 评论(0) 推荐(0)
摘要:前言在之前,我们增加ES权限验证,常用的方法就是添加HTTP密码,但是,对于使用来说不是很友好,X-pack好用,但是是收费的。不过,在ES6以后,X-pack陆续放开了一些功能,比如Monitor集群监控功能,ES6.8及以后版本ES又将部分安全性功能免费开放了,包含安全认证功能,之后版本又开放一些基础认证功能,本文就介绍使用x-pack来实现ES集群版本的认证。单机版ES不涉及证书等问题,直接... 阅读全文
posted @ 2020-07-07 23:09 我是一条最咸的咸鱼 阅读(2777) 评论(2) 推荐(1)
摘要:前言kubernetes应用越来越广泛,我们kubernetes集群中也会根据业务来划分不同的命名空间,随之而来的就是安全权限问题,我们不可能把集群管理员账号分配给每一个人,有时候可能需要限制某用户对某些特定命名空间的权限,比如开发和测试人员也可能需要登录集群,了解应用的运行情况,查看pod的日志,甚至是修改某些配置。这时候,我们可以通过创建受限的kubeconfig文件,将该config分发给有... 阅读全文
posted @ 2020-06-22 14:54 我是一条最咸的咸鱼 阅读(7738) 评论(0) 推荐(0)
摘要:Helm简介Helm 是 Kubernetes 的软件包管理工具,类似于Ubuntu 中使用的apt、Centos中使用的yum 或者Python中的 pip,能快速查找、下载和安装软件包。包含几个基本概念:Chart:一个 Helm 包,封装kubernetes原生应用程序的yaml文件Release: 在 Kubernetes 集群上运行的 Chart 的一个实例。在同一个集群上,一个 Cha... 阅读全文
posted @ 2020-06-21 09:40 我是一条最咸的咸鱼 阅读(1605) 评论(0) 推荐(0)
摘要:前言Spinnaker 是 Netflix 在2015年开源的一款持续交付平台,最初由 Netflix 开发,用于快速、可靠地发布软件变更。Spinnaker 使开发人员可以更轻松地专注于编写代码,而无需担心底层的云基础设施,它可以和 Jenkins 以及其他流行的构建工具无缝集成。但是由于 GFW 的原因导致在国内部署Spinnaker非常困难,当然,你可以使用代理,但这就与本文的初衷不符。经过... 阅读全文
posted @ 2020-03-16 13:39 我是一条最咸的咸鱼 阅读(2182) 评论(2) 推荐(1)
摘要:CronJob简介定时任务对我们并不陌生,例如Linux的crontab,各种编程语言都内置了定时任务支持,这在我们应用开发中比较常见,但这种定时任务在分布式系统中使用会有限制,因此需要分布式计划任务。 Kubernetes的CronJob可以理解为Kubernetes对分布式计划任务的支持。Kubernetes集群使用CronJob管理基于时间的作业,可以在指定的时间点执行一次或在指定时间点执行... 阅读全文
posted @ 2020-02-16 15:03 我是一条最咸的咸鱼 阅读(2174) 评论(0) 推荐(1)
摘要:kubectl用于运行Kubernetes集群命令的管理工具。语法kubectl [command] [TYPE] [NAME] [flags]command:指定要在一个或多个资源执行的操作TYPE:指定资源类型Resource types。Resource types会区分大小写,也可以指定单数,复数或缩写的形式Name区分大小写,如果省略Name,则显示所有资源的详细信息命令行指定的flag... 阅读全文
posted @ 2019-11-19 22:43 我是一条最咸的咸鱼 阅读(2258) 评论(0) 推荐(0)
摘要:K8S介绍相关 kubernetes(K8S)集群及Dashboard安装配置kubernetes(K8S)创建自签TLS证书K8S Kubernetes 架构K8S组件K8S API对象Kubernetes NamespacesKubernetes Pod概述Kubernetes DeploymentKubernetes IngressKubernetes ServiceKubernetes k... 阅读全文
posted @ 2019-11-15 17:22 我是一条最咸的咸鱼 阅读(871) 评论(0) 推荐(0)
摘要:Kubernetes Service 定义了这样一种抽象:一个 Pod 的逻辑分组,一种可以访问它们的策略(通常称为微服务)。 这一组 Pod 能够被 Service 访问到,通常是通过 Label Selector现的。对 Kubernetes 集群中的应用,Kubernetes 提供了简单的 Endpoints API,只要 Service 中的一组 Pod 发生变更,应用程序就会被更新。 对... 阅读全文
posted @ 2019-11-15 15:54 我是一条最咸的咸鱼 阅读(491) 评论(0) 推荐(0)
摘要:Ingress 可以提供负载平衡,SSL 终端和基于名称的虚拟主机。Ingress 是什么通常情况下,service和pod仅可在集群内部网络中通过IP地址访问。所有到达边界路由器的流量或被丢弃或被转发到其他地方。 internet | ------------ [ Services ]Ingress是授权入站连接到达集群服务的规则集合。 internet ... 阅读全文
posted @ 2019-11-12 23:17 我是一条最咸的咸鱼 阅读(4394) 评论(0) 推荐(0)
摘要:Deployment为Pod和Replica Set提供声明式更新。创建Deploymentnginx-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginxspec: replicas: 3 selector: matchLabe... 阅读全文
posted @ 2019-11-12 22:01 我是一条最咸的咸鱼 阅读(1129) 评论(0) 推荐(0)
摘要:Pod简介Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程。一个Pod封装一个应用容器,Pod代表部署的一个单位。Pods提供两种共享资源:网络和存储。网络:每个Pod被分配一个独立的IP地址,Pod中的每个容器共享网络命名空间,包括IP地址和网络端口。存储:Pod可以指定一组共享存储volumes。Pod中的所有容器都可以访问共享volume... 阅读全文
posted @ 2019-11-12 10:20 我是一条最咸的咸鱼 阅读(772) 评论(0) 推荐(0)
摘要:Kubernetes可以使用Namespaces(命名空间)创建多个虚拟集群。 大多数Kubernetes资源(例如pod、services、replication controllers或其他)都在某些Namespace中,但Namespace资源本身并不在Namespace中。 Namespac 阅读全文
posted @ 2019-10-31 16:20 我是一条最咸的咸鱼 阅读(1209) 评论(0) 推荐(0)
摘要:PODPod是在K8s集群中运行部署应用或服务的最小单元,它是可以支持多容器的。Pod的设计理念是支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。Pod是K8s集群中所有业务类型的基础。目前K8s中的业务主要可以分为长期伺服型(long-running)、批处理型(batch)、节点后台支撑型(node-daemon)和有状态应用型(s... 阅读全文
posted @ 2019-10-31 16:17 我是一条最咸的咸鱼 阅读(1390) 评论(0) 推荐(0)
摘要:Master 组件Master组件提供集群的管理控制中心。Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。kube-apiserverkube-apiserver用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。ETCDetcd是Kub... 阅读全文
posted @ 2019-10-31 16:17 我是一条最咸的咸鱼 阅读(619) 评论(0) 推荐(0)
摘要:Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统。Kubernetes架构Kubernetes借鉴了Borg的设计理念,比如Pod、Service、Labels和单Pod单IP等。Kubernetes主要由以下几个核心组件组成:etcd保存了整个集群的状态;apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;con... 阅读全文
posted @ 2019-10-31 16:15 我是一条最咸的咸鱼 阅读(569) 评论(0) 推荐(0)
摘要:现象:# kubectl get pods -n kube-system |grep dashboardkubernetes-dashboard-6685cb584f-dqkwk 0/1 ContainerCreating 0 13m状态一直是ContainerCreating。查看pod日志:# kubectl describe pod kubernetes-d... 阅读全文
posted @ 2019-09-09 17:07 我是一条最咸的咸鱼 阅读(14030) 评论(0) 推荐(0)
摘要:TLS证书用于进行通信使用,组件需要证书关系如下:组件需要使用的证书etcdca.pem server.pem server-key.pemflannelca.pem server.pem server-key.pemkube-apiserverca.pem server.pem server-key.pemkubeletca.pem ca-key.pemkube-proxyca.pem kube... 阅读全文
posted @ 2019-09-09 14:57 我是一条最咸的咸鱼 阅读(2377) 评论(0) 推荐(0)

返回顶部