背景 目前,很多边缘计算容器开源项目在使用上均存在一个默认的前提:用户需要提前准备一个标准的或者特定工具搭建的 Kubernetes 集群,然后再通过特定工具或者其他方式在集群中部署相应组件来体验边缘能力.这无疑提高了用户体验边缘能力的门槛,而且使用上有众多的限制,让用户很难上手. 简单整理,大概会有如下问题: 门槛太高 用户需要提前准备一个 Kubernetes 集群,对于很多用户来说门槛太高,搭建的流程比较复杂,容易失败,把很多想使用边缘能力的人群拒之门外: 限制性太大 往往要求特定工具搭建…
以下报错网上其实也可以找到并解决,但是偏零碎我只是根据自己的在使用中遇到的问题做个汇总. 文章目录 首先删掉节点 node重新加入 参考文档 首先删掉节点 注意:以下操作都是在master下操作. 一:先将节点设置为维护模式(k8snode2是节点名称) kubectl drain k8snode02 --delete-local-data --force --ignore-daemonsets node/k8snode02 二:删除节点 kubectl delete node k8snode0…
目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.GetMesh 4.1 如何开始使用? 4.2 如何开始? 4.3 使用 GetMesh 安装 Istio 4.4 验证配置 4.5 管理多个 Istio CLI 4.6 CA 集成 五.发现选择器(Discovery Selectors) 5.1 配置发现选择器 六.实战(k8s集群安装Istio 1…
问题一: 在rancher的ui上,不能创建k8s的master节点的高可用集群.创建k8s集群,添加节点的时候,可以添加多个master,但是多个master又没有高可用,只要其中一个出问题了,那么整个集群就垮了.本想着自己来改配置,但是集群是使用docker启动组件,配置复杂繁琐,不太懂rancher组织集群的原理,个人能力有限等原因,只好找寻其他解决方案. 解决方法:在多个master情况下,其中一个master节点出毛病了,只需要在rancherUI上删掉这个节点就行了(以前不太了解,m…
前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此本教程会在部署的过程中穿插讲解一些部署相关知识.原理和步骤,比如kubeadm.kubelet以及启动集群时的实际部署动作等等.整个部署过程全部脚本化,以便各位参考和学习. 因整个集群部署教程篇幅较长,因此会拆分成几篇进行说明. 目录 使用Kubeadm创建k8s集群 Kubeadm概述  Kube…
     前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for desktop中启用就可以了.但是我发现,启用了k8s后,Docker for desktop会消耗大量的系统资源,导致系统变得很慢.据说windows 上的WSL 2 性能不错,这次我尝试在WSL Linux上安装K8s并部署我们的微服务,看看还会不会出现系统资源消耗过大的情况.      关于网络:我用的是…
前言:上篇已介绍了jenkins在k3s环境部署,本篇继续上篇讲述流水线构建部署流程 1.从gitlab上拉取代码步骤 在jenkins中,新建一个凭证:Manage Jenkins -> Manage Credentials 点击jenkins -> 全局凭据 -> 添加凭据:选择用户名和密码类型,输入用户名和密码,点击创建 编写pipeline script脚本,拉取代码 选择git代码仓库还有凭证等信息,点击"生成流水线脚本",即帮我们生成了拉取代码的脚本 复制…
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 master 服务器的组件有:kube-apiserver.kube-controller-manager.kube-scheduler 因此需要下载k8s master,下载地址:https://github.com/kubernetes/kubernetes/blob/master/CHANGE…
一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9bpVKOry 项目资源分配(数据库.中间件除外): 二.部署镜像仓库 1) 部署docker-compose,然后参考下文部署docker. $ sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/dock…
k8s交付实战-交付jenkins到k8s集群 目录 k8s交付实战-交付jenkins到k8s集群 1 准备jenkins镜像 1.1 下载官方镜像 1.2 修改官方镜像 1.2.1 创建目录 1.2.2 创建dockerfile 1.2.3 准备dockerfile所需文件 1.2.4 harbor中创建私有仓库infra 1.2.5 构建自定义的jenkins镜像 2 准备jenkins运行环境 2.1 专有名称空间和secret资源 2.1.1 创建专有namespace 2.1.2 创…
@ 目录 概述 定义 为何使用 其他产品 安装 简述 规划 基础环境 Docker安装 Rancher安装 创建用户 创建集群 添加Node节点 配置kubectl 创建项目和名称空间 发布应用 偏好设置 概述 定义 Rancher 官网 https://rancher.com/ Rancher 官网文档 https://rancher.com/docs/ Rancher 最新版本2.6官网文档 https://rancher.com/docs/ Rancher GitHub源码地址 https…
PS:所有机器主机名请提前设置好 在上一篇,ETCD集群我们已经搭建成功了,下面我们需要搭建master相关组件,apiverser需要与etcd通信并操作 1.配置证书 将etcd证书上传到master节点,在etcd01上操作 USER=root export K8SHOST1=192.168.1.27 for HOST in ${K8SHOST1} do ssh ${USER}@${HOST} 'mkdir -p /etc/kubernetes/pki/etcd' scp -r /etc/…
说明: 本文参考 『 Kubernetes 权威指南 』 第一章的案例. 需要说明的是, 这本书里有很多描述的东西和实践的案例不吻合. Kubernets 集群架构 架构图 Server List 节点名称 节点 IP k8s-master 10.10.10.10 k8s-node1 10.10.10.11 k8s-node2 10.10.10.12 配置主机 hosts 需要说明的是, 这个不是必须的. 但是如果不配置主机 hosts, 后续配置 kubelet 参数KUBELET_API_S…
节点为centos7.4 一.node节点基本环境配置 1.配置主机名 2.配置hosts文件(master和node相互解析) 3.时间同步 ntpdate pool.ntp.org date echo '*/10 * * * * /usr/sbin/ntpdate pool.ntp.org' >>/var/spool/cron/root crontab -l 4.关闭防火墙和selinux systemctl stop firewalld systemctl disable firewal…
apiserver的部署 api-server的部署脚本 [root@mast-1 k8s]# cat apiserver.sh #!/bin/bash MASTER_ADDRESS=$1 主节点IP ETCD_SERVERS=$2 etcd地址 cat <<EOF >/opt/kubernetes/cfg/kube-apiserver KUBE_APISERVER_OPTS="--logtostderr=true \\ --v=4 \\ --etcd-servers=${ET…
之前的docker和etcd已经部署好了,现在node节点要部署二个服务:kubelet.kube-proxy. 部署kubelet(Master 节点操作) 1.二进制包准备 [root@k8s-master bin]# cd /usr/local/src/kubernetes/server/bin/ [root@k8s-master bin]# cp kubelet kube-proxy /opt/kubernetes/bin/ [root@k8s-master bin]# scp kube…
Master节点要部署三个服务:API Server.Scheduler.Controller Manager. apiserver提供集群管理的REST API接口,包括认证授权.数据校验以 及集群状态变更等 只有API Server才直接操作etcd 其他模块通过API Server查询或修改数据 提供其他模块之间的数据交互和通信的枢纽 scheduler负责分配调度Pod到集群内的node节点    监听kube-apiserver,查询还未分配Node的Pod 根据调度策略为这些Pod分…
前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不过基于部署环境和k8s的复杂性,我们需要对k8s集群部署过程中的一些步骤都有所了解,尤其是“kubeadm init”命令. 目录 主节点部署  Kubeadm以及相关工具包的安装 批量拉取k8s相关镜像 使用“kubeadm init”启动k8s主节点 启动k8s主节点 kubectl认证 安装f…
之前体验了minikube,掉深坑里至今还没有爬出来,玩单节点用minikube够了, 但傻瓜试的安装让人对k8s理解不是很深刻(坑),而且多节点好像有什么奇怪的问题 所以我这次要用两个虚拟机来模拟k8s集群   一主节点一工作节点 hostname     ipaddr cpu 硬盘 内存 OS docker k8s m1 1921.168.1.200 2 20G  2G   centos7 18 1.16.2 w1 1921.168.1.201 2 20G  2G   centos7 18…
k8s集群中,有时候发现有些节点状态为 NotReady,如何修复为Ready状态呢? [root@k8s-master~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready master 4d8h v1.14.1 k8s-node1 NotReady <none> 4d8h v1.14.1 k8s-node2 Ready <none> 4d8h v1.14.1 1.重新生成新的token 默认tok…
1.需求情景:机房网络调整,突然要回收我k8s集群上一台node节点机器的ip,并调予新的ip到这台机器上,所以有了k8s集群节点更换ip一说:同时,k8s集群节点更换ip也相当于k8s集群添加新节点,他们的操作流程是一样的. 2.机器更换ip后发生的现象: (1)查看节点状态,kubectl get node ,还是原来的节点名称和Ready状态,但事实上它已经不工作了: (2)查看集群pods,运行在已更换ip node节点的pod已处于Terminating,已无法正常工作 3.修复nod…
当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了基础知识之后,这两者显然不太够用,我需要进一步寻找能够运行本地多节点集群.与生产环境更相似的平台.为此,我查阅了许多参考资料,最后我找到了Rancher Server.接下来,我要介绍我是如何设置我的本地K8S多节点集群的. 准备master节点和worker节点的虚拟机 上图显示了集群的架构,一个…
作者: Dawid Ziolkowski丨Container Solution云原生工程师 最近,我一直在Kubernetes上进行各种测试和部署.因此,我不得不一次又一次创建和销毁Kubernetes集群,有的时候甚至在一个小时内执行好几次.但由于我需要测试的某个事项需要一个全新的集群,所以简单地删除所有的pod.service.deployment等,来让集群变得"像新的一样"并没有任何作用. 同时,我还需要一个尽可能与生产环境相似的集群,所以所有的本地解决方案(如Minikube…
rancher三节点k8s集群部署例子 待办 https://rorschachchan.github.io/2019/07/25/使用Rancher2-1部署k8s/…
背景 1 台 master 加入集群后发现忘了修改主机名,而在 k8s 集群中修改节点主机名非常麻烦,不如将 master 退出集群改名并重新加入集群(前提是用的是高可用集群). 操作步骤 ssh 登录另外一台 master 节点将要改名的 master 节点移出集群. kubectl drain blog-k8s-n0 kubectl delete node blog-k8s-n0 登录已退出集群的 master 服务器重置 kubelet 配置并重新加入集群. kubeadm reset k…
写在前面 最近在研究K8S,今天就输出部分研究成果吧,后续也会持续更新. 集群规划 IP 主机名 节点 操作系统版本 192.168.175.101 binghe101 Master CentOS 8.0.1905 192.168.175.102 binghe102 Worker CentOS 8.0.1905 192.168.175.103 binghe103 Worker CentOS 8.0.1905 基础配置 在三台服务器上的/etc/hosts文件中添加如下配置项. 192.168.1…
@ 目录 1. 安装说明 2. 节点规划 3. 基本配置 4. 内核配置 5. 基本组件安装 6. 高可用组件安装 7. 集群初始化 8. 高可用Master 9. 添加Node节点 10. Calico安装 11. Metrics Server部署 12. Dashboard部署 1. 安装说明 虽然K8s 1.20版本宣布将在1.23版本之后将不再维护dockershim,意味着K8s将不直接支持Docker,不过大家不必过于担心.一是在1.23版本之前我们仍然可以使用Docker,二是do…
某天, 某鱼说要吃瞄, 于是...... 李国宝:边缘计算k8s集群SuperEdge初体验 ​ zhuanlan.zhihu.com 图标 照着上一篇文章来说,我这边边缘计算集群有一堆节点. 每个节点都在不同的网络环境下. 他们的共同点都是可以访问内网, 部分是某云学生主机, 部分是跑在家庭网络环境下的虚拟机, 甚至假设中还有一些是树莓派之类的机器. 所以他们另一个共同点是,基本都没有公网IP. 这样一来,我要实现远程登录到某些节点搞事的时候, 只有内网穿透这一条路子了. 使用frp进行内网穿…
一,文章简述 大家好,本篇是个人的第 2 篇文章.是关于在之前项目中,k8s 线上集群中 Node 节点状态变成 NotReady 状态,导致整个 Node 节点中容器停止服务后的问题排查. 文章中所描述的是本人在项目中线上环境实际解决的,那除了如何解决该问题,更重要的是如何去排查这个问题的起因. 关于 Node 节点不可用的 NotReady 状态,当时也是花了挺久的时间去排查的. 二,Pod 状态 在分析 NotReady 状态之前,我们首先需要了解在 k8s 中 Pod 的状态都有哪些.并…
Linkerd 是 Kubernetes 的服务网格. 它通过为您提供运行时调试(runtime debugging).可观察性(observability).可靠性(reliability)和安全性(security),使运行服务更轻松.更安全 - 所有这些都不需要对您的代码进行任何更改. 服务网格是用于处理服务间通信的专用基础设施层.它负责通过包含现代云原生应用程序的复杂服务拓扑来可靠地传递请求.实际上,服务网格通常通过一组轻量级网络代理来实现,这些代理与应用程序代码一起部署,而不需要感知应…