目录一、Kubernets概述1.1K8S什么1.2为什么要用K8S二、Kubernetes集群架构与组件2.1Master组件Kube-apiserverKube-controller-managerKube-scheduler2.2配置存储中心etcd2.3Node组件KubeletKube-Proxydocker或rocket三、Kubernetes核心概念3.1Pod3.2Pod控制器K8S内提供了众多的Pod控制器,常用的有以下几种:3.3Label3.4Label选择器(Labelselector)3.5Service3.6Ingress3.7Name3.8Namespace四、常
目录一、理论1.污点2.容忍3. Pod启动阶段4. 故障排除步骤5.对节点执行维护操作二、实验1.污点2.容忍三、问题1.pod上配置容忍生成资源报错四、总结一、理论1.污点(1)作用节点亲和性,是Pod的一种属性(偏好或硬性要求),它使Pod被吸引到一类特定的节点。Taint则相反,它使节点能够排斥一类特定的PodTaint和Toleration相互配合,可以用来避免Pod被分配到不合适的节点上。每个节点上都可以应用一个或多个taint,这表示对于那些不能容忍这些taint的Pod,是不会被该节点接受的。如果将toleration应用于Pod上,则表示这些Pod可以(但不一定)被调度到具有
预知ingress实现https代理创建证书密钥secrets保存密钥信息,部署pod时把secrets挂载到pod[root@master01~]#opensslreq-x509-sha256-nodes-days365-newkeyrsa:2048-keyouttls.key-out.crt-subj"/CN=nginxzzr/O=nginxzzr"req:生成证书文件的请求x509:生成x.509自签名的证书-sha256:表示生成的密钥不加密-day365:证书有效期365天-newkeyrsa:2048:RSA密钥对,长度2048位。-keyouttls.key-out.crt:密钥
目录一、理论1.Kubectl插件2.kubens 3.krew二、实验1.kubectl插件2.kubens 3.krew一、理论1.kubectl插件(1)概念kubectl插件其实就是以kubectl-为前缀的任意可执行文件,比如执行:ln-s/bin/echo/usr/local/bin/kubectl-echo此时就相当于安装了个echo的kubectl插件,kubectl插件可以通过kubectl + 插件名执行,kubectlxxx其实就是相当于运行kubectl-xxx。2.kubens (1)概念k8s每次查看指定命名空间的资源都需要加-n命名空间来指定命名空间,我们可以通过
kubernetes部署redis数据库(单节点)redis简介Redis是我们常用的非关系型数据库,在项目开发、测试、部署到生成环境时,经常需要部署一套Redis来对数据进行缓存。这里介绍下如何在Kubernetes环境中部署用于开发、测试的环境的Redis数据库,当然,部署的是单节点模式,并非用于生产环境的主从、哨兵或集群模式。单节点的Redis部署简单,且配置存活探针,能保证快速检测Redis是否可用,当不可用时快速进行重启。redis参数配置在使用Kubernetes部署应用后,一般会习惯与将应用的配置文件外置,用ConfigMap存储,然后挂载进入镜像内部。这样,只要修改Config
将有状态的应用程序部署到Kubernetes是棘手的。StatefulSet使它变得容易得多,但是它们仍然不能解决所有问题。最大的挑战之一是如何缩小StatefulSet而不将数据留在断开连接的PersistentVolume成为孤立对象上。在这篇博客中,我将描述该问题和两种可能的解决方案。通过StatefulSet创建的每个Pod都有自己的PersistentVolumeClaim(PVC)和PersistentVolume(PV)。当按一个副本按比例缩小StatefulSet的大小时,其Pod之一将终止,但关联的PersistentVolumeClaim和绑定到其的PersistentVo
背景如何做团队技术文章分享和沉淀?这是一个老生常谈的话题。常见的技术选型可以是Confluence、Dokuwiki、Gitbook等。但对于敏捷团队来说,这些都不够优雅,我们希望能把技术文章像代码一样进行协作和版本管理。更新技术文章后,能够自动部署到公司的K8S集群。那么,CODINGDevOps+Hexo一定是你的不二之选,这也是CODING目前的实践。Hexo是一个快速、简洁且高效的博客框架。我们只需要书写Markdown格式的技术文章,通过命令能够直接生成静态页面,方便浏览和部署。本文将介绍如何使用CODINGDevOps建立流水线,推送技术文章到Git仓库后,自动触发流水线执行构建并
k8s多集群配置管理平台临时集群特性模拟生产环境整体环境说明内网:10.17.1.44[root@localhostaccount-server]#kubectlgetnodesNAMESTATUSROLESAGEVERSIONlocalhostReadymaster25hv1.17.5[root@localhostaccount-server]#kubectlgetpods-ANAMESPACENAMEREADYSTATUSRESTARTSAGEcattle-systemcattle-cluster-agent-689f8dcc64-7slpk1/1Running078mcattle-sys
在Kubernetes部署Istio【demo演示】可参考官方文档(https://istio.io/latest/zh/docs/setup/install/),以部署1.7.4版本作为演示,在Mac上安装基础环境cloud(ali)kubernetes(1.16.9)istio(1.7.4)安装配置#mkdiristio#cdistio#wgethttps://github.com/istio/istio/releases/download/1.7.4/istio-1.7.4-osx.tar.gz#lltotal94336-rw-r--r--1rootwheel45MNov909:54is
(1)版本配置系统版本:CentOSLinuxrelease7.9.2009(Core)内核版本:5.4.259-1.el7.elrepo.x86_64k8s版本:v1.15.1(2)报错原因分析在安装和配置Kubernetes(k8s)集群时,有时会遇到各种错误和问题。其中一个常见的问题是在初始化过程中出现"errorexecutionphasepreflight"错误。这个错误通常与交换空间(swap)的使用、Docker版本和kubeadm配置有关。(3)–experimental-upload-certs已被弃用报错初始化语句导致报错Flag--experimental-upload-