k3s

使用Kubernetes、K3s和Traefik2进行本地开发

跟風遠走 提交于 2020-08-12 05:17:42
作者简介 Vyacheslav,拥有运维和项目管理经验的软件工程师 这篇文章将承接我此前搭建的本地Docker开发环境,具体步骤已经放在在以下网址: https://github.com/Voronenko/traefik2-compose-template 除了经典的docker化的项目之外,我还有其他的Kubernetes项目。尽管Kubernetes已经成为容器编排的事实标准,但是不得不承认Kubernetes是一个既消耗资源又消耗金钱的平台。由于我并不经常需要外部集群,因此我使用轻量级K3s发行版来进行Kubernetes本地开发。 K3s是为IoT和边缘计算而构建的经过认证的Kubernetes发行版之一,还能够按产品规模部署到VM。 我使用K3s的方式是这样的:在我的工作笔记本上本地安装K3s,尽管有时我需要在本地部署较重的测试工作负载,为此,我准备了两个神器——两个运行ESXi的外部Intel NUCs。 默认情况下,K3s安装Traefik 1.x作为ingress,如果你对此十分满意,那么无需往下继续阅读了。 在我的场景中,我同时会牵涉到好几个项目,特别是经典的docker和docker swarm,因此我经常遇到在独立模式下部署Traefik的情况。 因此,本文其余部分将深入介绍如何将外部traefik2配置为K3s集群的ingress。

使用Kubernetes、K3s和Traefik2进行本地开发

半城伤御伤魂 提交于 2020-08-12 03:39:46
作者简介 Vyacheslav,拥有运维和项目管理经验的软件工程师 这篇文章将承接我此前搭建的本地Docker开发环境,具体步骤已经放在在以下网址: https://github.com/Voronenko/traefik2-compose-template 除了经典的docker化的项目之外,我还有其他的Kubernetes项目。尽管Kubernetes已经成为容器编排的事实标准,但是不得不承认Kubernetes是一个既消耗资源又消耗金钱的平台。由于我并不经常需要外部集群,因此我使用轻量级K3s发行版来进行Kubernetes本地开发。 K3s是为IoT和边缘计算而构建的经过认证的Kubernetes发行版之一,还能够按产品规模部署到VM。 我使用K3s的方式是这样的:在我的工作笔记本上本地安装K3s,尽管有时我需要在本地部署较重的测试工作负载,为此,我准备了两个神器——两个运行ESXi的外部Intel NUCs。 默认情况下,K3s安装Traefik 1.x作为ingress,如果你对此十分满意,那么无需往下继续阅读了。 在我的场景中,我同时会牵涉到好几个项目,特别是经典的docker和docker swarm,因此我经常遇到在独立模式下部署Traefik的情况。 因此,本文其余部分将深入介绍如何将外部traefik2配置为K3s集群的ingress。

附019.Rancher搭建及使用

穿精又带淫゛_ 提交于 2020-08-10 09:08:37
一 Rancher概述 1.1 什么是Rancher Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,方便开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),以便于满足 IT 需求规范,赋能 DevOps 团队。 当然 Rancher 2.x 已经完全转向了 Kubernetes。Rancher 2.x 可以部署和管理在任何地方运行的 Kubernetes 集群。 Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,自动创建节点并安装 Kubernetes 集群,或者导入任何已经存在的 Kubernetes 集群。 Rancher 通过支持集群的身份验证和基于角色的访问控制(RBAC),使系统管理员能够从一个位置控制全部集群的访问。Rancher 可以对集群及其资源进行详细的监控和并在需要时发送告警,也可以将容器日志发送给外部日志系统,并通过应用商店与 Helm 集成。 若具有外部 CI/CD 流水线系统,则可以将其与 Rancher 对接,如果没有,Rancher 也提供了简单易用的流水线实现自动部署和升级工作负载。除此之外,Rancher 还有很多开箱即用的功能用于更好的管理集群和业务应用,例如多集群应用,全局 DNS,服务网格,安全扫描

helm源码分析之pull

北城以北 提交于 2020-08-09 19:51:02
发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。 腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518 第二个视频发布 https://edu.csdn.net/course/detail/27109 腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518 介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange

.NetCore 配合 Gitlab CI&CD 实践

萝らか妹 提交于 2020-08-07 16:23:02
前言 上一篇博文 .NetCore 配合 Gitlab CI&CD 实践 - 开篇 ,主要简单的介绍了一下 GitLab CI 的持续集成以及持续部署,这篇将通过 GitLab CI 发布一个 .net core 项目,来带小伙伴们感受一下自动化的魅力,从此告别手动发布。 准备工作 创建一个空MVC项目来进行演示: mkdir hello-world cd hello-world dotnet new sln -n HelloWorld mkdir src cd src dotnet new mvc -n GitLabCIDemo cd ../ dotnet sln add .\src\GitLabCIDemo\GitLabCIDemo.csproj 完成以上创建后,用 vscode 打开应该是下面这个样子: 项目上传至 GitLab 在 gitlab 上新建一个 hello-world 的项目,将本地的项目上传。这个按照如下提示操作即可: 项目上传成功后,切一个 dev 分支出来,我这里的策略是,代码提交到 dev 分支是自动发布到开发环境进行验证的,生产环境是通过 master 分支打 tag 进行发布的。 切换到 dev 分支! 切换到 dev 分支! 切换到 dev 分支! 添加相关脚本 在 hello-world 文件夹内创建 .build/docker 文件夹

SUSE收购Rancher,成为企业级Kubernetes管理领域的市场领导者

拟墨画扇 提交于 2020-07-28 12:41:13
【全球财经观察 | 新闻速递】 北京时间2020年7月8日,全球最大的独立开源公司SUSE与业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs(以下简称Rancher)共同宣布,双方已就SUSE收购Rancher事宜正式达成最终协议。此次收购将使SUSE/Rancher成为企业级Linux、容器、Kubernetes、边缘计算领域的首选开源公司。 “对于IT行业而言,这是一个意义非凡的时刻,因为此次并购是两个开源领域领导者的联合。SUSE是企业级Linux、边缘计算和AI的领导者,此次与企业级Kubernetes管理领域的领导者Rancher的合并,将为全球的IT市场注入全新的可能,以帮助客户加速其数字化转型之旅。”SUSE首席执行官Melissa Di Donato表示, “SUSE和Rancher的结合,将为市场带来先前罕有的、能在全球范围内提供技术支持的、包含云原生技术在内的100%真正开源的产品组合,从而帮助我们的客户从边缘、到数据中心、再到云上,实现整个业务的持续无缝创新。” 为客户和合作伙伴释放云原生的未来 随着企业的IT部门越来越多地寻求利用云来实现创新并推动数字化转型,Kubernetes已迅速成为企业IT战略的核心支柱。Gartner预测,随着采用云原生的应用程序和基础架构的企业数量大幅增加,到2024年

系列文章(六)丨设备集群上的Kubernetes

非 Y 不嫁゛ 提交于 2020-07-27 05:13:46
Kubernetes是起源于Google、在最近三五年里大热的容器编排工具。战胜了其他竞争对手之后,Kubernetes现在毋庸置疑地在云计算环境中占据垄断地位。在收购了Heptio、Bitnami等颇有影响的初创公司之后,VMware成为Kubernetes全球社区中举足轻重的贡献者。2020年3月,VMware发布了Cloud Foundation 4,内置革命性的Tanzu平台,全面支持Kubernetes在云中更高效透明的运维管理。 与此同时,相当多的用户和厂商在不断尝试将Kubernetes应用于边缘计算环境中。然而,边缘计算毕竟不同于云计算,很多云中习以为常的基本假设,在边缘上是不成立、或者成本过高以至于不现实的。 本篇将浅析其中的原委,并比较不同技术方案的优缺点。这里专注于设备层的探讨,而不是云边缘(Cloud Edge)或移动边缘计算(MEC)。对于Kubernetes来讲,后两者的技术环境与云中相比差别不大,基本可以无缝迁移。 第六篇 设备集群上的Kubernetes 原生Kubernetes的基本假设 Kubernetes原本设计是在云计算环境中运行,所以它的基本假设就是云计算资源、基础设施即服务(IaaS)的特性,包括: - 计算是充分的、可分布式部署的 - 网络是稳定的、可双向联通的 - 存储是易失的、本地的,或持久化的、网络化的 - 管理是远程的、自动化的

Cilium使用 (Cilium 3)

▼魔方 西西 提交于 2020-04-20 12:39:15
目录 Cilium安装使用 docker安装 内核更新 安装k3s 安装master 安装node(可选) 挂载BPF文件系统 安装Cilium 查看安装结果 部署连接测试 安装Hubble 安装helm 安装Hubble Cilium的网络模型 同节点访问 跨节点网络 Cilium cli 使用k3s测试Cilium,安装步骤可以参见 官方 文档 Cilium安装使用 docker安装 使用如下命令安装最新版本的docker yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io 启动docker service docker start 内核更新 Cilium要求的内核版本比较高,需要对内核进行升级,否则会运行失败。错误日志如 minimal supported kernel version is 4.8.0; kernel version that is running is: 3.10.0" 1、导入key rpm -

在CentOS7.6上安装自动化运维工具Ansible以及playbook案例实操

徘徊边缘 提交于 2020-04-20 10:22:26
前言 Ansible是一款优秀的自动化IT运维工具,具有远程安装、远程部署应用、远程管理能力,支持Windows、Linux、Unix、macOS和大型机等多种操作系统。 下面就以CentOS 7.6为主机操作系统,演示安装Ansible工具的过程,将一个本地应用例子安装到远程主机,并在远程主机上运行应用。 一、环境准备 完成这个例子,最少需要两台主机,一台安装Ansible运维工具本身,用作管理主机,一台用作远程目标主机。 两台主机都预先安装了CentOS 7.6操作系统。 # Ansible管理主机 192.168.6.190 root@k3s-vip # 远程目标主机 192.168.6.193 root@k3s-node3 二、安装Ansible运维工具 使用SSH登录到拟安装Ansible的主机。 查看系统环境: [root@k3s-vip ~]# uname - a Linux k3s -vip 3.10 . 0 - 957 .el7.x86_64 # 1 SMP Thu Nov 8 23 : 39 : 32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 运行安装命令 Ansible的安装过程很简单,只需要一条yum命令。 使用CentOS自带工具yum自动下载、安装Ansible。Ansible依赖于Python语言

k3s - can't access from one pod to another if pods on different master nodes (HighAvailability setup)

喜夏-厌秋 提交于 2020-04-11 19:18:27
问题 k3s - can't access from one pod to another if pods on different nodes Update: I've narrowed the issue down - it's pods that are on other master nodes that can't communicate with those on the original master pods on rpi4-server1 - the original cluster - can communicate with pods on rpi-worker01 and rpi3-worker02 pods on rpi4-server2 are unable to communicate with the others I'm trying to run a HighAvailability cluster with embedded DB and using flannel / vxlan I'm trying to setup a project