自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 K8S学习心得:Scheduler原理与源码分析

1. Scheduler概念资源调度器。kube-apiserver收到新建Pod的请求,识别其合法并存入etcd,然后kube-scheduler去watch kube-apiserver知道此需求,根据预定的调度策略评估出一个最合适Node节点来运行Pod,如果没有最合适,那就随机,最后会把调度的结果记录在etcd中。通过上边的流程图我们也能大概看出:Scheduler在整个系统中起"承上...

2020-03-22 08:56:47 874

原创 阿里云容器服务K8S集群使用体验:混合部署在线服务和离线任务

本来想使用自建的K8S集群来演示混合部署的,无奈作者的电脑配置实在是跟不上,一开虚拟机就卡得不行。于是果断选择氪金使用阿里云的容器服务K8S版,既省去了自己各种操作的压力,也权当是体验一把国内顶级的Kubernetes容器服务。一、混合部署的概念在开始介绍混合部署的概念之前,我们需要先考虑K8S在实际业务中可能存在的问题。假设你是一个中小企业的运维,并且公司业务都部署在K8S的集群上。那么...

2020-03-22 01:40:05 3165

原创 浅谈虚拟机VMware的三种网络模式

我们时常会使用虚拟机进行工作。而当我们使用VMware创建一个新的虚拟机时,在网络方面我们会碰到这三个选项(自定义选项这里不作讨论)。那么虚拟机的网络是怎么实现的呢?在VMware中,虚拟机的网络连接主要是由VMware创建的虚拟交换机(也叫做虚拟网络)负责实现的,VMware可以根据需要创建多个虚拟网络。那么,这三种网络模式之间有什么区别呢?1. 桥接模式:直接连接物理网络桥接模式,也就...

2020-03-21 17:29:04 420

原创 K8S学习心得:Kubernetes的基本架构和概念

相信很多朋友在学习K8S的时候,能够借助yaml文档把自己的应用部署到K8S集群上,但是对于K8S内部的技术细节和实现原理并不了解,而这恰恰正是我们作为开发者提升技术所欠缺的东西。那么今天我们就来简单总结一下K8S的基本架构和其中的各个组件的概念和原理。在开始正式介绍K8S之前,我们首先要搞明白一个问题:K8S是用来干什么的?(欢迎移步我的另一片关于云计算虚拟化的入门介绍博客)平常使用过Doc...

2020-03-21 16:23:51 1490

原创 每日一题:Leetcode面试题51.数组中的逆序对

题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000题解:题目难度:困难解题思路:终于准备搞一搞Leetcode里的Hard题了。本题是一道归并排序的典型题。题目理解起来十分容易,但想要在面试的时...

2020-03-20 21:50:45 729

原创 每日一题:Leetcode面试题16.数值的整数次方

题目描述:实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 ...

2020-03-18 14:57:24 223

原创 K8S实战:如何快速在kubernetes集群上部署Mysql?

本文简单记录了本人第一次尝试在k8s集群上部署Mysql项目的过程。相信大家应该都在自己的电脑中使用过mysql,而kubernetes是一个可自动部署、扩缩、管理容器化应用的工具,今天我们就来尝试一下在k8s集群中部署mysql数据库。在kubernetes中部署mysql集群之前,应当有如下准备:已部署完成kubernetes集群中有mysql容器镜像在已经搭建好的k8s集群上部署...

2020-03-14 22:39:22 3946 2

原创 TensorFlow学习心得(1):入门概念与程序结构

相信很多朋友入门机器学习使用的第一个框架就是TensorFlow了,但是很多小白(比如作者)对于TF的认识还停留在TFboys的阶段。那么我们今天就来简单地了解一下TensorFlow的概念和程序结构。1. Tensor首先我们来看看什么是Tensor。在官网的文档中,Tensor被翻译成”张量“,它的定义如下:张量是对矢量和矩阵向潜在的更高维度的泛化,TensorFlow 在内部将张量表...

2020-03-14 18:02:36 488 1

原创 K8s集群部署心得:如何使用Kubeadm一次搞定安装Kubernetes?

相信很多朋友在学习K8s入门的时候遇到的第一块绊脚石,就是安装以及部署kubernetes了。网络上的教程又多又杂,而且因为设备环境不同等等诸多问题的存在,导致很多朋友就算照着教程一步一步来,也还是不知道怎么回事就报错,导致前功尽弃。作者也深受其害。为了帮助各位因安装k8s而焦头烂额的各位朋友快速解决问题,也为了记录本人在入门运维之路上踩过的坑,作者特地写下这篇基于Kubeadm安装部署K8s集...

2020-03-14 10:56:32 536 1

原创 Docker实践教程: 7步学会如何创建与连接Mysql的Docker容器

1. 搜寻Mysql镜像首先我们需要找到 $ docker search mysql2. 拉取Mysql镜像$ docker pull mysql3. 运行容器设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306。测试过程没有挂载本地数据盘:$ docker run -it --rm --name mysql -e MYSQL_ROOT...

2020-03-05 00:11:16 201

原创 Docker实践:如何编写自定义Tomcat镜像并发布?

用久了从DockerHub上白嫖来的镜像,不免想要开发一款自己的镜像供大家使用,或者满足自己的特殊需求。今天,我们就来根据官方CentOS镜像,一步步地将它改造成自定义的Tomcat镜像并发布到DockerHub,并重新pull到本地运行,以验证我们自定义镜像的效果。作者环境:阿里云轻量 CentOS7.30.前言在着手改造现有的CentOS之前,我们先要对Docker镜像的构成和来源有一个...

2020-03-04 23:46:40 347 1

原创 每日一题:Leetcode 面试题13.机器人的运动范围

题目描述:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人...

2020-03-03 10:56:39 573

原创 每日一题:Leetcode 面试题 29.顺时针打印矩阵

题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <...

2020-03-02 22:31:52 351

原创 Docker实战基础(5):常用容器命令大全(上)

在之前的博客中,我们已经成功地完成了docker常用镜像命令和帮助命令的学习。Docker实战基础(3):常用镜像命令大全Docker实战基础(4):常用帮助命令大全如果我们想对Docker有一个深入的理解的话,那么仅仅学习以上的知识对我们来说还远远不够。1.新建并启动容器能够新建一个容器的前提是我们首先在本地仓库中要有一个相对应的镜像。以启动CentOS容器为例,我们首先需要搜索并拉取...

2020-03-01 23:29:22 163

原创 Docker实战基础(4):常用帮助命令

经过上一节的学习,我们成功地掌握了如何搜寻、拉取Docker镜像,并对本地仓库内的镜像管理有了一定的认识。Docker实战基础(3):常用镜像命令大全今天,我们就来简单学一学Docker中的帮助命令。1. Docker 的架构我们通过一张图来简单了解一下Docker 的架构。Docker本身基本遵循C/S架构。这就意味着,当我们打开在终端中打开docker时,我们实际上是对Client终...

2020-03-01 09:22:49 131

原创 Docker实战基础(3):常用镜像命令大全

在前文中,我们成功地安装了Docker并配置好了阿里云容器加速器。今天也不说废话了,咱们直接来看看Docker中的常用镜像命令。1. docker images用于查看目前所拥有的所有docker镜像。(比如作者目前手里就有4个镜像。)关于其它细节可以参考下图。比如我们输入:docker images -q就仅获得镜像的ID。2. docker search该命令用于从Do...

2020-03-01 08:55:10 300

原创 Docker实战基础(2):阿里云镜像加速

前文中,我们提到了Dockerhub是最强大的公开仓库,里面也有非常多的镜像资源,是所有开发者最为推崇的docker平台。那么,当我们尝试打开Dockerhub的官网的时候,会惊奇的发现,由于我国大陆某面墙的存在,直接访问外网的速度那叫一个卡。(就连中文版Dockerhub似乎也登不上去了)特别是当我们直接从Dockerhub上下载镜像的时候,速度简直卡到天际,400M左右的镜像资源能下半个...

2020-02-29 23:52:33 109

原创 Docker实战基础(1):Docker的安装(CentOS)

前言作为全球最火爆的容器引擎,Docker在开发和运维领域的作用可谓独当一面、解决了很多麻烦,是作为一名技术人员不得不了解的虚拟化技术。那么,我们就从零开始学习Docker技术的使用。在学习之前,欢迎移步我的博客简单了解Docker的基本概念和功能。接下来,我们简要学习一下Docker在Linux系统下的安装。(作者环境:阿里云轻量CentOS 7.3)卸载旧版本在安装新的Docker...

2020-02-29 16:49:34 138

原创 每日一题:Leetcode 面试题63.股票的最大利润

题目描述:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,...

2020-02-27 23:26:51 447

原创 从零入门云计算(1):云计算究竟是个啥?

0.前言如今社会高速发展,各种新技术层出不穷,云计算的概念早就不新鲜了。作为互联网从业者,如果不能深入了解云计算的概念,我们将无法在各大技术论坛深入浅出地装X,甚至有可能辩论不过小区门口天天看新闻联播的老大爷。因此,深入理解云计算的相关概念是非常必要的。然而,当我们尝试搞懂云计算究竟是什么时,一定会面临各种问题。比如一开始,当我们在百度搜索引擎中搜索“云计算”时,百度百科给它的定义是这样的:...

2020-02-27 21:19:38 1414 3

原创 Github学习心得(4):版本的回溯与恢复

在上一节Github学习心得:项目的修改中,我们已经通过git add和git commit命令提交了对项目的修改,并且成功地用git status和git diff查看了项目的工作状态和修改情况。实际上,仅仅掌握这几行命令对于我们来说还远远不够。比如某一天,你在自己的项目里大改特改了一番,并且把新的版本提交了上去,但是新提交的修改后的版本完全不符合项目的要求,项目主管看了你的提交以后十分生气,...

2020-02-26 17:32:34 1051

原创 Github学习心得(3):项目的修改

书接上回Github创建版本库,我们已经成功地创建了一个版本库,并且上传了readme.txt文件。在实际项目中,我们总是要对代码进行修改,那么就需要及时地更新Github版本库中的文件。以本文为例,我们把readme.txt中的内容修改为:"Welcome to the system.l hope you enjoy it."并进行保存。现在,运行git status命令看看结果:$ gi...

2020-02-25 23:21:56 199

原创 Github学习心得(2):创建版本库

经过上节初识Git的内容,我们已经对Git的诞生有了一个简单的了解。现在,我们已经安装好了Git,那么踏入Github之路的第一步,就要从创建版本库并发布到Git上开始。首先我们要明白一个问题:什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在...

2020-02-25 22:51:56 201

原创 Github学习心得(1):初识Git

Git的安装

2020-02-25 21:20:08 243

原创 GO语言从入门到入土(3):单元测试

无论是个人开发还是团队开发项目,对大型项目的测试总是避免Bug的必不可少的环节。因此,Go语言官方开发了“testing”标准库,用于为我们的日常单元测试提供测试函数。...

2020-02-25 19:49:32 166

原创 每日一题:Leetcode 面试题47. 礼物的最大价值

题目描述:在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?示例 1:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价...

2020-02-25 18:09:00 646

原创 GO语言从入门到入土(1):函数

1.1 Go语言函数概况每一个程序都包含很多的函数:函数是基本的代码块。Go 里面有三种类型的函数:普通的带有名字的函数匿名函数或者lambda函数方法除了main()、init()函数外,其它所有类型的函数都可以有参数与返回值。函数参数、返回值以及它们的类型被统称为函数签名。为了对Go语言中的函数有一个基本的认识,我们来看如下的例程:package mainfunc mai...

2020-02-24 11:53:16 155

原创 每日一题:Leetcode面试题 64.求1+2+...+n

题目描述:求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000题解:题目难度:中等解题思路:又来水题解了本题虽然多了很多限制,但本质上仍是等差数列求和问题,所...

2020-02-23 22:25:40 179 1

原创 Linux菜鸟入门:常用命令行大全

作为程序猿,我们必须熟悉习惯Linux开发环境。本文列出了一些Linux常用命令行,并附运行截图,以供大家参考。作者环境:阿里云轻量CentOS7.3

2020-02-22 23:40:56 604 1

原创 每日一题:Leetcode 面试10-1. 斐波那契数列

题目描述:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:10000000...

2020-02-22 22:09:43 238

原创 云计算的概况和发展:Ubiquitous Supercomputing Power

引言:关键词:正文:云计算的背景:云计算概述:云计算核心技术:云计算未来趋势:结语:参考文献:

2020-02-21 20:14:16 1054

原创 每日一题:Leetcode 53.最大子序和

背(fei)景(hua):书接上回,自从张小胖同学成功AC了Leetcode 1.两数之和这道题后,便觉得自己特别牛批。这天,他又信心满满地来到了Leetcode题库,准备大战一番。这时,一行“最长子序列和”突然映入张小胖的眼帘:题目描述:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [2,-4,3,-1,2,-4,3...

2020-02-20 22:18:05 259

原创 每日一题:Leetcode 1.两数之和

题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题解:题...

2020-02-19 01:03:37 2566

原创 每日一题:Leetcode 57.移除元素

题目描述:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前...

2020-02-18 23:24:36 198

原创 每日一题:Leetcode 66.加一

题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。题...

2020-02-18 00:16:51 233

原创 每日一题:Leetcode 9.回文数

题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。题解...

2020-02-16 19:21:55 499

原创 每日一题:Leetcode 7.整数翻转

题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。题解题目难度:简单...

2020-02-16 17:45:57 297

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除