https://github.com/anjia0532/gcr.io_mirror
由于国内的原因,gcr的镜像无法直接拉取,导致knative部署困难,采用
本文介绍了如何使用 Docker 和 Kubernetes 在 Mac 上部署一个简单的 Web 服务。首先介绍了如何使用 Docker 在 Mac 上部署一个由 Kubernetes 管理的 Web 服务,然后介绍了如何将 Kubernetes 的部署转换为 Swarm 模式。
我们知道,在几乎所有的应用开发中,都会涉及到配置文件的变更,比如说在web的程序中,需要连接数据库,缓存甚至是队列等等。而我们的一个应用程序从写第一行代码开始,要经历开发环境、测试环境、预发布环境只到最终的线上环境。而每一个环境都要定义其独立的各种配置。如果我们不能很好的管理这些配置文件,你的运维工作将顿时变的无比的繁琐。为此业内的一些大公司专门开发了自己的一套配置管理中心,如360的Qcon,百度的disconf等。kubernetes也提供了自己的一套方案,即ConfigMap。kubernetes通过ConfigMap来实现对容器中应用的配置管理。
我们知道在 Docker v17.05 版本后就开始支持多阶段构建 (multistage builds)了,使用多阶段构建我们可以加速我们的镜像构建,在一个 Dockerfile 文件中分不同的阶段来处理镜像。
Helm可以看作是k8s集群的包管理工具,通过Helm可以快速安装很多软件,比如mysql,nginx等,当然,也可以把自己的应用交给Helm来管理和安装。
Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架。致力于提供全功能、标准化的云原生 CI/CD 解决方案。【本文主要是通过流水线自动化的将tekton镜像同步到腾讯云仓库,并部署tekton】
关于容器技术,我之前分享不少文章和技巧,包括如何优化镜像,如何更优雅的进行构建封装,以及大量的容器应用实践、使用案例以及维护方式。
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。
上一篇文章我们介绍了Tekton的安装并且做了简单的测试,但是我们并不知其所以然,而这篇文章主要带大家来了解以及学习所以然。
从昨天开始,正式开始备战CKA考试。看了看昨天考题留言,答题的有十多个,只有2个答对了。
使用 Mutating Webhook 准入控制器实现。当集群中 Pod 创建时,Mutating Webhook 的工作流程如下:
作者 | 米开朗基杨 来源 | https://mp.weixin.qq.com/s/GLXUgR75YAqFWC-SMEIkJg 前言 在使用 Docker 和 Kubernetes 时,我们经常需要访问 gcr.io 和 quay.io 镜像仓库,由于众所周知的原因,这些镜像仓库在中国都无法访问,唯一能访问的是 Docker Hub,但速度也是奇慢无比。gcr.azk8s.cn 是 gcr.io 镜像仓库的代理站点,原来可以通过 gcr.azk8s.cn 访问 gcr.io 仓库里的镜像,但是目前 *
Certified Kubernetes是CNCF基金会在2018年推出的Kubernetes一致性认证计划。它由CNCF基金会提供的一套诊断测试工具(Sonobuoy)并运行在Kubernetes中。各云厂商如果需要将自己产品纳入到Certified Kubernetes当中,就需要按照操作指导进行自身测试,并将测试结果上传给CNCF社区,当报告审核通过,交付一定的费用(CNCF Members免费)后,就会得到CNCF基金会给企业颁发一个Certified Kubernetes的认证。
在使用 Docker 和 Kubernetes 时,我们经常需要访问 gcr.io 和 quay.io 镜像仓库,由于众所周知的原因,这些镜像仓库在中国都无法访问,唯一能访问的是 Docker Hub,但速度也是奇慢无比。gcr.azk8s.cn 是 gcr.io 镜像仓库的代理站点,原来可以通过 gcr.azk8s.cn 访问 gcr.io 仓库里的镜像,但是目前 *.azk8s.cn 已经仅限于 Azure 中国的 IP 使用,不再对外提供服务了。国内其他的镜像加速方案大多都是采用定时同步的方式来缓存,这种方法是有一定延迟的,不能保证及时更新,ustc 和七牛云等镜像加速器我都试过了,非常不靠谱,很多镜像都没有。
从官网这段介绍可以看出,Kubeflow与Kubernetes是形影不离的。总的来说,Kubeflow是 google 开源的一个基于 Kubernetes的 ML workflow 平台,其集成了大量的机器学习工具,比如用于交互性实验的 jupyterlab 环境,用于超参数调整的 katib,用于 pipeline 工作流控制的 argo workflow等。作为一个“大型工具箱”集合,kubeflow 为机器学习开发者提供了大量可选的工具,同时也为机器学习的工程落地提供了可行性工具。
Kubernetes 的稳健性、可靠性使它成为现阶段最流行的云原生技术之一,但也有不少用户反映, Kubernetes 技术学习起来十分复杂,只适用于大集群且成本较高。这篇文章将打破你的观念,教你在小型项目中部署 Kubernetes 集群。
本次演示环境,我是在本机 MAC OS 以及虚拟机 Linux Centos7 上操作,以下是安装的软件及版本:
microk8s不通过虚拟机但与主机隔离方式,快速轻巧安装Kubernetes。通过在单个快照包中打包Kubernetes,Docker.io,iptables和CNI的所有上游二进制文件来实现此隔离。 snap包是一个应用程序容器 - 您可以将其想象为Docker容器的轻量级版本。它使用了许多相同的底层技术进行隔离,而没有网络隔离的所有开销。最终结果是一种超越任何一个发行版的包格式,因为快照可以安装在大多数Linux操作系统上,同时还利用原子更新,升级失败回滚以及来自用户主机的软件限制级别等功能。
DaemonSet 确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。
接上文:在centos7上安装和配置Kubernetes 下载kube-ui镜像并导入 谷歌的镜像地址被墙了,无法pull拉取镜像,只能手动下载。 在每个minion上导入镜像: 复制 docker load kube-ui_v3.tar 创建kube-system namespace 创建kube-system.json,内容如下: 复制 # vim kube-system.json { "kind": "Namespace", "apiVersion": "v1", "metadata
安装 kubernetes 的时候,我们需要用到 gcr.io/google_containers 下面的一些镜像,在国内是不能直接下载的。如果用 Self Host 方式安装,Master 上的组件除开 Kubelet 之外都用容器运行,甚至 CNI 插件也是容器运行。比如 Flannel,在 quay.io/coreos 下面,在国内下载非常慢。但是我们可以把这些镜像同步到我们的 Docker Hub 仓库里,再配个 Docker Hub 加速器,这样下载镜像就很快了。
但是由于这一步需要在线下载一些包,因此如果不访问国外网站的话基本不会成功,所以通常我们得使用代理才可以使上面命令运行成功
容器改变了我们看待技术基础设施的方式。这是我们运行应用程序方式的一次巨大飞跃。容器编排和云服务一起为我们提供了一种近乎无限规模的无缝扩展能力。
K8S(kubernetes) 日渐火爆,但由于出自Google,对GFW内的用户及其的不友好。 而之前的 *.azk8s.cn 全能镜像站,也于 2020年4月2日限制了对 Azure China 之外的 IP访问,无疑又是雪上加霜 (很多生产集群应该开始跳脚了)。
我们知道 Kubernetes 是一个分布式的容器集群管理系统,它把集群中的管理资源抽象化成一个个 API 对象,并且推荐使用声明式的方式创建,修改,删除这些对象,每个 API 对象都通过一个 yaml 格式或者 json 格式的文本来声明。这带来的一个问题就是这些 API 对象声明文本的管理成本,每当我需要创建一个应用,都需要去编写一堆这样的声明文件。
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,其中kubespray比较适合较大规模的集群部署,*步骤,为可选操作,该文章主要介绍,以下内容:
上一篇文章 初试 Netflix 开源持续云交付平台 Spinnaker 中,我安装的是 Development Spinnaker,安装过程比较繁琐,而且没有跟 Kubernetes 集群集成起来,只能演示其部署管理功能中的 Pipeline 功能,而 Spinnaker 的另一个核心内容集群管理功能没法操作。本次我将实际操作演示如何在 Kubernetes 集群中安装 Spinnaker,后续演示如何使用 Spinnaker 执行 deploy 和 scale 一个应用到 Kubernetes 集群中。本次演示环境,我是在本机 MAC OS 上操作,以下是安装的软件及版本:
Kaniko 是 Google 造的轮子之一,用于在 Kubernetes 上无需特权的构建 docker image,在 github(https://github.com/GoogleContainerTools/kaniko) 中,是这样介绍的:
安装DNS插件 在 Master节点 上进行安装操作 下载安装文件 # cd # wget https://github.com/kubernetes/kubernetes/releases/download/v1.8.6/kubernetes.tar.gz # tar xzvf kubernetes.tar.gz # cd /root/kubernetes/cluster/addons/dns # mv kubedns-svc.yaml.sed kubedns-svc.yaml #把文件中$DNS_
k8s集群之kubernetes-dashboard和kube-dns组件部署安装
作者:ChamPly 安装CentOS 1.安装net-tools [root@localhost ~]# yum install -y net-tools 2.关闭firewalld [root@localhost ~]# systemctl stop firewalld && systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed
[root@localhost ~]# yum install -y net-tools
3、禁用docker-c-edge源配edge是不开发版,不稳定,下载stable版
kaniko 执行器镜像负责从 Dockerfile 构建镜像并将其推送到注册表,其流程大致如下:
在运行一个容器时,有时候需要使用sysctl修改内核参数,比如net.、vm.、kernel等,sysctl需要容器拥有超级权限,容器启动时加上--privileged参数即可。那么,在kubernetes中是如何使用的呢?
Spinnaker主要用来做CD,也就是持续部署,同时也包含了一些应用管理以及部署流程上的相关特性。因此,在标准的CI/CD流水线中其实是可以融合在一起的,所以Jenkins可有可无,如果有的话,可以直接从Spinnaker中进行任务触发然后自动化部署。
比如:获取pod名字是kubernetes-bootcamp-6bf84cb898-jk4jc的日期,默认使用第一个container container by default
通过之前的文章 初试 Kubernetes 集群中使用 Helm 搭建 Spinnaker 平台 ,我们已经演示了如何通过 Helm 安装 Spinnaker 平台到本地 Kubernetes 集群中。本次演示环境,我依旧是在本机 MAC OS 上操作,以下是安装的软件及版本:
Spinnaker 是一种持续交付平台,最初由 Netflix 开发,用于快速、可靠地发布软件变更。Spinnaker 使开发人员可以更轻松地专注于编写代码,而无需担心底层的云基础设施,它可以和 Jenkins 以及其他流行的构建工具无缝集成。很早就想要体验下 Spinnaker 了,但是由于 GFW 的原因尝试了很多次都无功而返,这次解决了代理的问题终于顺利的在 Kubernetes 集群上成功部署上了 Spinnaker。
http://tonybai.com/2017/03/03/implement-kubernetes-cluster-level-logging-with-fluentd-and-elasticsearch-stack/
Google 在 Cloud Next’19 上发布了基于 Docker 容器的的 Serverless 新方案。目前可以肯定的是,这是 Serverless 的重要进步——在 Cloud Run 上进行部署比在 Kubernetes 上运行容器简单多了。而且和 Lambda 不同,这一方案没有语言绑定的问题。
在前一篇文章中详细介绍了Kubernetes容器集群管理环境 - 完整部署(中篇),这里继续记录下Kubernetes集群插件等部署过程:
安装kubernetes的时候,我们需要用到 gcr.io/google_containers 下面的一些镜像,在国内是不能直接下载的。如果用 Self Host 方式安装,master 上的组件除开kubelet之外都用容器运行,甚至 CNI 插件也是容器运行,比如 flannel,在 quay.io/coreos 下面,在国内下载非常慢。但是我们可以把这些镜像同步到我们的docker hub仓库里,再配个docker hub加速器,这样下载镜像就很快了。
领取专属 10元无门槛券
手把手带您无忧上云