
linux笔记
人生30一道坎
要成为架构师的男人
展开
-
ES安装到win10
中间报错了几次,需要根据log的提示调整,主要是jvm或者java环境,或者xpack的问题。因为安装的8.6最新版的es,所以需要禁用xpack否则登录是需要配置秘钥比较麻烦。首先安装java,设置环境变量 JAVA_PATH JAVA_HOME PATH。win版本默认是不支持集群的,所以需要开启http.cors.enabled。登录localhost:9200之后有一个keystore存储在本地。jvm.options 可以调整jvm的内存大小。开启了集群,所以kibana直接接管的效果。原创 2023-02-09 21:05:38 · 411 阅读 · 1 评论 -
Anlios装grouplist 组件之后报错,安装tiger-vncserver
因为之前升级了一个epel-release源,然后containerd也装进去了,但是版本太低。不想要了可以 vncserver -kill :1 删了就保留有一个,根据端口号链接。可以新增 然后就可以查看,该了之后需要systemctl daemon-reload。编辑/etc/systemd/system/vnvserver@1:service。中间一度以为是源时间不同步更新了一个ntpdate发现没有卵用。然后以为是runc挡住了,发现没有runc。删完了containerd就可以装了。原创 2022-12-20 17:45:10 · 1010 阅读 · 0 评论 -
查看启动日志和常见状态码
常见的web 状态码 500 501 502 503 504。也可以直接dmesg 查看启动相关的。nginx优化关注一下。原创 2022-08-25 14:50:38 · 150 阅读 · 0 评论 -
k8s-configMap
可变配置管理,前面我们学习了一些常用的资源对象的使用,但是单纯依靠这些资源对象,还不足以满足我们的资产需求,一个重要的需求就是应用的管理配置,敏感信息的存储和使用,容器运行资源的配置,安全管控,身份认证等等对于应用的可变配置在kubernetes中是通过一个configMap资源对象来实现的,我们知道许多应用经常会从配置文件,命令行参数或者环境变量中读取一些配置信息的需求,这些配置信息我们肯定不会直接写死到应用程序中去,比如你一个应用连接一个redis服务,下一次想换一个还得重新袖带代码,重新制作一个镜原创 2022-05-27 11:49:10 · 439 阅读 · 0 评论 -
k8s-job和cronjob
今天我们来给大家介绍另外一个资源对象job,我们在日常工作中,经常遇到一些需要进行批量数据处理和分析的需求,当然也会按照时间来进行调度的工作,我们的kubernetes集群中为我们体统了job和cronjob两种资源对象应对我们的需求job负责处理任务,即仅执行一次任务,它保证批处理任务的一个或多个pod成功结束,而cornjob则就是在job上加时间调度[root@master1 ~]# kubectl describe job job-demoName: .原创 2022-05-11 18:00:59 · 692 阅读 · 0 评论 -
k8s-daemonSet控制器
通过该控制器的名称我们可以看出他的用法daemon,就是用来部署守护进程的,daemonSet用于在每个kubernetes节点中将守护进程的副本作为后台进程运行,说白了就是每个节点部署一个pod副本,当节点加入到kubennetes集群中,pod会被调度到该节点上运行,当节点从集群只能够被移除后,该节点上的pod也会被移除,当然我们删除daemonSet,所有和这些对象相关的pods都会被删除。集群存储守护程序,glusterd ceph要部署在每个节点上提供持久性存储节点监控守护进程,prome原创 2022-05-11 15:20:17 · 545 阅读 · 0 评论 -
k8s deploymen控制器
前面介绍了rs控制器,replicaSet ,了解到该控制器是用来维护集群中进行的pod数量的,但是往往在实际操作的时候,我们反而不会去直接使用rs,而是会使用更上层的控制器,deployment是一个非常重要的功能就是实现了pod的滚动更新,比如我们应用更新了,我们值需要更新我们的容器镜像,然后丢该deployment里面的pod模板镜像,那么deployment就会用滚动更新rolling update的方式升级现在的pod,这个能力是非常重要的,因为对于线上的服务我们需要做到不中断服务,所以滚动更新就原创 2022-05-07 17:59:13 · 935 阅读 · 0 评论 -
Downward API
前面我们从pod的原理到生命周期介绍了pod的一些使用,作为kubernetes中最核心的对象,最基本的调度单元,我们可以发现pod中的属性还是非常繁多的,前面我们使用过一个volumes的属性,表示声明一个数据卷,我们可以通过命令kubectl explain pod.sec.volumes去查看该对象下面的属性非常多,前面我们只是简单的使用了hostpath和empryDir{}这两种模式,其中还有一种叫做downwardAPI这个模式和其他模式不一样的地方在于它不是为了存放容器的数据也不是用来进行容器原创 2022-04-28 17:40:51 · 1583 阅读 · 0 评论 -
POD声明周期
前面我们已经了解了POD的设计原理,接下来我们了解POD的声明周期,init container,pod hook,health 三个部分首先介绍pod的声明周期之前,我们先了解一下pod的状态,因为pod状态可以反应出当前我们的pod具体状态信息。[root@master1 ~]# kubectl explain pod.statusKIND: PodVERSION: v1RESOURCE: status <Object>DESCRIPTION: ..原创 2022-04-24 17:41:34 · 2090 阅读 · 0 评论 -
给K8S安装一个bashboard
集群前一节已经创建好了[root@master1 ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml卸载recommended.yaml文件用于创建podkubectl apply -f recommended.yaml[root@master1 ~]# kubectl apply -f recommended.yaml nam...原创 2022-04-21 14:08:31 · 1153 阅读 · 1 评论 -
k8s部署--没到8次就学会了
机器三个[root@master1 ~]# cat /etc/hosts192.168.1.126 master1192.168.1.127 node1192.168.1.128 node2192.168.1.129 node3223.5.5.5命名规则和机器严格按照这个步骤。2CPU 2G 内存不然加node的时候会报错装完之后,静态ip,保证这三个电脑的网卡是一致的名字,网段。否则fannel的时候pod起不来就无法通信。IPADDR=192.168.1.% //一开始这原创 2022-04-20 16:05:29 · 1973 阅读 · 0 评论 -
Alios装一个docker
按步骤装太麻烦 但是这大哥他没有 支持Anolis OS 8.4[root@localhost ~]# cat /etc/os-releaseNAME="Anolis OS"VERSION="8.4"ID="centos"ID_LIKE="rhel fedora centos"VERSION_ID="8.4"PLATFORM_ID="platform:an8"PRETTY_NAME="Anolis OS 8.4"ANSI_COLOR="0;31"HOME_URL="https://o原创 2022-03-30 17:02:01 · 1494 阅读 · 0 评论 -
debian安装mysql
参考了这个大哥的(3条消息) debian 8 (jessie版) 下载解压安装mysql 5.7(版本5.7.25)_陈阿刚的博客-优快云博客这个比较老,我的11装还是有问题,不过上面的思路还是比较正确的,不然我也装不过去首先先看一下apt 源里有什么mysql显然是什么都没有MySQL :: Download MySQL Community Server (Archived Versions)这个就只能手动了,然后我拿到包的时候手抖了一下,执行了一个dpkg -i *...原创 2022-03-30 15:09:22 · 2686 阅读 · 0 评论 -
debian的DNS问题
debian的DNS 修改了/etc/resolve.conf一直跳此时需要安装一个 resolveconfroot@master:/etc# apt install resolvconf然后修改下面的head文件root@master:/etc# vim /etc/resolvconf/resolv.conf.d/head 这样就不会一直跳了原创 2022-03-29 15:36:34 · 1681 阅读 · 0 评论 -
淘宝nginx编译安装
root@rancher:/opt/tnginx# ls -l -d -h *drwxrwxr-x 13 root root 4.0K 3月 29 2021 tengine-2.3.3-rw-r--r-- 1 root root 2.8M 3月 21 10:03 tengine-2.3.3.tar.gz获取一个包,然后吧他解压源代码内编辑脚本文件编译安装需要用到的,编译工具其中折腾了很多次,网易,阿里,华为换了一个遍。怎么都装不过去,移除也不行。apti.原创 2022-03-21 16:34:15 · 3730 阅读 · 0 评论 -
debian安装docker
头一次在debian安装,记录一下首先需要一个debian其次你需要换一个debian的源,阿里,华为的都行,差别不大,因为后面下docker的时候都要去原厂拉先卸载原来的,不管有没有 sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update$ sudo apt-get install \ ca-certificates \ curl \原创 2022-02-21 15:22:48 · 7854 阅读 · 3 评论 -
golang里关于整型截断
package mainimport ( "fmt" "math")func main() { fmt.Println("int8 range:", math.MinInt8, math.MaxInt8) fmt.Println("int16 range:", math.MinInt16, math.MinInt16) fmt.Println("int32 range:", math.MinInt32, math.MaxInt32) fmt.Println("int64 range.原创 2021-06-10 15:55:59 · 739 阅读 · 1 评论 -
golang的fmt.Println和println
先看代码package mainimport "fmt"func main() { x := 10 var p *int = &x *p += 20 fmt.Println(p, *p)}原创 2021-05-28 13:39:55 · 551 阅读 · 0 评论 -
golang二元运算符
ackage mainimport "fmt"func main() { const v = 20 var a byte = 10 b := v + a fmt.Printf("%T ,%v\n", b, b) fmt.Printf("%T ,%v,%#b\n", v, v, v) x := v << 1 fmt.Printf("%T,%v,%#b\n", x, x, x) const c float32 = 1.2 d := c + v fmt.Printf(".原创 2021-05-27 15:48:28 · 968 阅读 · 0 评论 -
golang基本数据类型
八进制以0开头,后面跟数字0~7。十六进制以0x开头,后面跟数字0~9或字母A~F(小写也可以)。package mainimport ( "fmt" "math")func main() { a, b, c := 100, 0144, 0x64 fmt.Println(a, b, c) fmt.Printf("%#b,%#o,%#x\n", a, a, a) fmt.Println(math.MinInt8, math.MaxInt8)}fmt.Printf %#原创 2021-05-26 14:33:59 · 243 阅读 · 1 评论 -
golang常量与变量
package mainvar x = 0 * 100const y = 0 * 200func main() { println(&x, x) println(&y, y)}常量会被编译器在预处理阶段直接展开,作为指令数据使用。数字常量不会分配存储空间,无需像变量一通过内存寻址来取值,因此无法获得地址...原创 2021-05-26 13:35:11 · 80 阅读 · 0 评论 -
golang中const 与 iota自增常量 实现递归
package mainimport "fmt"const ( a, g = iota, iota b = iota c = iota d = iota e = -4 f = iota)func main() { fmt.Printf("%T ,%v\n", a, a) fmt.Printf("%T ,%v\n", b, b) fmt.Printf("%T ,%v\n", c, c) fmt.Printf("%T ,%v\n", d, d).原创 2021-05-26 13:17:45 · 952 阅读 · 0 评论 -
golang常量组中不指定类型和初始化值与上一行非空常量右值相同
package mainimport "fmt"func main() { const ( x uint16 = 120 y s = "abc" z ) fmt.Printf("%T,%v\n", x, x) fmt.Printf("%T,%v\n", s, s) fmt.Printf("%T,%v\n", y, y) fmt.Printf("%T,%v\n", z, z)}复习 int 与uint 区别,int负数,uint正整数...原创 2021-05-26 11:27:22 · 135 阅读 · 0 评论 -
赋值变量简短赋值与不同作用域
package mainfunc main() { x := 100 println(&x) x, y := 200, "abc" println(&x, x) println(y)}package mainfunc main() { x := 100 println(&x, x) { x, y := 200, 300 println(&x, x, y) }}简短赋值,不总是重新定义变量,也可能是部分退化的..原创 2021-05-26 11:02:53 · 111 阅读 · 0 评论 -
golang转义符
package mainimport "fmt"func main() { fmt.Println("aaa\nbbb") fmt.Println("aaa\bbb") fmt.Println("aaaaa\rbbb") fmt.Println("aaaaaaaaa") fmt.Println("aaaaaa\tbbbbb") fmt.Println("aaaaaaaaaa\tbbb") fmt.Println("\"golang\"")}\n 换行 \b退格 \...原创 2021-05-25 10:58:16 · 1241 阅读 · 0 评论 -
golang一个对齐的范例
package mainimport ( "fmt")func main() { fmt.Printf("%-20v $%4v\n", "spacex", 94) fmt.Printf("%-20v $%4v\n", "niubihonghongde", 100)}fmt.Printf按格式输出,%nv 对齐,+左 -右 %nv就是占位符 ,%4v 数字前占位补齐大致就是这样效果...原创 2021-05-24 13:56:11 · 624 阅读 · 0 评论 -
变量的申明和变量作用域
package mainimport "fmt"var n7 = 100var n8 = 9.7var ( n9 = 500 n10 = "netty")func main() { var num int = 18 fmt.Println(num) var num2 int fmt.Println(num2) var num3 = "tom" fmt.Println(num3) sex := "男" fmt.Println(sex) fmt.Println("__.原创 2021-05-21 15:30:29 · 81 阅读 · 0 评论 -
一个简简单单的go程序
引入三个包,reflect检查变量类型 strconv 类型转换报错提示,VAR 已经声明过原创 2021-05-07 10:03:49 · 188 阅读 · 0 评论 -
vscode上跑golang
先装golanggo get -u -v github.com/nsf/gocode装完验证一下然后装Visual Studio Code - Code Editing. Redefinedgo get -v golang.org/x/tools/gopls 跑一下装code runner ;go 写完右上角 跑一下原创 2021-05-06 14:50:08 · 256 阅读 · 0 评论 -
写第一个golang
环境是ubuntu自带的,新建一个变量和文件夹就可以用了mkdir gocd go/root@rancher-redis:~# echo $GOPATH/root/go原创 2021-04-30 17:18:41 · 91 阅读 · 1 评论 -
docker搭建registry私有库
docker run -it -d -p 5000:5000 registry拉一个仓库的镜像docker run -it -d -p 5000:5000 /opt/data/registry:/tmp/registry registry找一个镜像, docker tag ubuntu:18.04 192.168.168.168:5000/test修改仓库地址为私有库,cat /etc/docker/daemon.json{"ins...原创 2021-04-27 16:57:57 · 104 阅读 · 0 评论 -
从头到尾ubuntu部署rancher,ssh开启到docker安装
上次的centos挂了新装unbuntu 20.4先处理vim.ssh第一步升级源,启用rootsudo apt updatesudo passwd rootvi /etc/apt/sources.listhttps://mirrors.tuna.tsinghua.edu.cn/help/ubuntu 清华源然后就可以 apt-get install vimssh也需要手动安装,apt-get install apt-trans...原创 2021-04-23 18:01:14 · 312 阅读 · 0 评论 -
Oracle VM VirtualBox 复制虚拟机后clone 网络冲突的问题
因为授权问题,不能再VM下跑实验了。使用的clone后 ssh登录一直报错。改了网络,物理机是250 ,虚拟的100.101。clone后,配置静态地址,UUID重复了,MAC地址的部分,复制CLONE的时候可以选择变化MAC。现在改UUID就好了,先从其他网卡跑配置过来vim 进入末行模式 read ! cat /etc/sysconfig/network-spr**/ifcfg-enp0s3 给IPADDR NETWORK GATEWAY ...原创 2021-04-16 15:17:34 · 350 阅读 · 0 评论 -
搞一套RANCHER
需要分三步,跟装大象差不多第一步装docker装docker先升级,yum update然后装环境 yum install -y yum-utils device-mapper-persistent-date lvm2开始装docker,先改源 yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum list ...原创 2021-04-09 17:28:33 · 94 阅读 · 2 评论 -
安装redis 我写的都是我自己敲过的
首先你要有一个安装包redis.cn 自己下 state版本编译环境需要有解包 tar -zvxf redis包放到src下 ,到deps/下主要使用这个里面的hiredis jemalloc lua linenoise都是需要预编译的文件不报错就预编译结束了,预编译结束就开始编译/usr/local/src/redis/下其他主机没问题,有一个主机报错了需要升级gcc yum install centos-rele...原创 2021-03-12 14:28:16 · 178 阅读 · 0 评论 -
screenfetch查询看设备信息
ubuntu下查看是自带的,没有的直接apt install screenfetch 安装原创 2021-02-19 17:07:00 · 126 阅读 · 0 评论 -
wsl 安装ip a
win10子系统不能识别ip a 命令,手动安装一下 yum install iproute新本不能安装虚拟机好难受原创 2021-02-19 16:00:47 · 235 阅读 · 0 评论 -
win10子系统安装centos
首先你需要一个lxrunoffline ,然后修改一个变量Lxrunoffline 可以出现提示就说明成功了需要使用docker下载一个完整的包使用LxRunoffline install -n centos -d "安装目录" -f"dock包"以上资源我上传了,powershell安装了ubuntu用不惯,换回centos了。...原创 2021-02-19 14:03:41 · 598 阅读 · 0 评论 -
安装mysql 使用navicat 远程连接
网上别人的包是在是看不下去了,才是5.4在哪下大家都知道不说了解压完还挺大, xz -dk 保留源文件-K tar -xvftar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar新建账号 mysqlgroupadd mysqluseradd -r -g mysql mysqlpasswd mysql 简单密码有提示,直接忽略登录mysql这个时候如果你用navicat ...原创 2021-01-22 15:29:42 · 115 阅读 · 1 评论 -
脚本实现避免删库,保住饭碗
#!/bin/bash#删除该迁移脚本Warning_color="echo -e \E[1;31m"END="\E[0m"DIR=/tmp/`date +%F_%H-%M-%S`mkdir $DIRmv $* $DIR${Warning_color} Move $* to $DIR $ENDls 查看排序-tr 倒序 -t 正序chmod +x rm.shalias rm='/data/rm.sh'但是这个脚本还会比较傻的,没有操作也提示了...原创 2021-01-14 11:11:18 · 114 阅读 · 0 评论