2020 年 03 月 - 10 文章

kubernetes文档知识点个人总结

  |   0 评论   |   0 浏览

只是整理知识点,所有内容来自 http://docs.kubernetes.org.cn/251.html,如有侵权请发送邮件通知删除 架构 K8s 主要组件 etcd: 保存集群状态 apiserver: 所有资源操作入口,认证授权,访问控制,API 注册,服务发现 controller-manager: 维护集群状态,故障检测,自动扩展,滚动更新 scheduler: 资源调度 kubelet: 维护容器的生命周期,CVI 和 CNI 管理 cri: 镜像管理和 pod 运行 kube-proxy: 为 Service 提供 cluster 服务发现和负载均衡 K8s addons kube-dns: 集群 dns 服务,多用 cni IngressController: 外网入口 Heapster: 资源监控 Dashboard: GUI Federation: 跨区用集群 Fluentd-elasticsearch: 日志采集存储查询 分层架构 核心层:Kubernetes 最核心的功能,对外提供 API 构建高层的应用,对内提供插件式应用执行环境 应用层:部署(无状态应用、有状态应用、批处....

K8S-Scheduler 启动脚本

  |   0 评论   |   0 浏览

#!/bin/bash # 是否输出错误信息 /opt/kubernetes/server/bin/kube-scheduler --logtostderr false \ # 日志级别 --v 2 \ # 日志目录 --log-dir /opt/kubernetes/logs \ # 自动找主节点 --leader-elect true \ # apiserver 地址 --master 127.0.0.1:8080 \ # 服务监听地址 --address 127.0.0.1

K8S-Controller-Manager启动脚本

  |   0 评论   |   0 浏览

#!/bin/bash // 错误是否输出 /opt/kubernetes/server/bin/kube-controller-manager --logtostderr false // 日志级别 --v 2 // log 目录 --log-dir /opt/kubernetes/logs // 多个 APIServer 自动选择一个调度 --leader-elect true // 指定 APIServer 的 API 地址 --master 127.0.0.1:8080 // 服务监听地址 --address 127.0.0.1 // 是否支持网络插件 --allocate-node-cidrs true // 基于插件分配网段地址 --cluster-cidr 10.244.0.0/16 // 客户端分配地址的范围 --service-cluster-ip-range 10.0.0.0/24 --cluster-signing-cert-file /opt/ssl/k8sca/ca.pem --cluster-signing-key-file /opt/ssl/k8sca/ca-key.p....

K8S-API-SEVER 启动脚本

  |   0 评论   |   0 浏览

#!/bin/bash /opt/kubernetes/server/bin/kube-apiserver # 是否打印错误信息 --logtostderr false # 日志级别 --v 2 # 日志目录 --log-dir /opt/kubernetes/logs # etcd 的地址 --etcd-servers https://192.168.111.119//192.168.111.99:2379,https://192.168.111.109:2379 # 本服务,APIServer 的地址 --bind-address 192.168.111.119 # 本服务端口 --secure-port 6443 # 广播地址 --advertise-address 192.168.111.119 # 是否 使用超级管理员权限创建容器 --allow-privileged true # 启动 Service 时生成的虚拟网段 --service-cluster-ip-range 10.0.0.0/24 # 开启插件 --enable-admission-plugi....

K8S-ETCD 启动脚本

  |   0 评论   |   0 浏览

那就请使用这个 Command 吧 由于 GitHub Release 下载下来只有 etcd 和 etcdctl 并没有 配置文件 和 systemctl.service 所以迫不得已写了个命令行,贴出来已备后用 #!/bin/bash // name 请改成当前节点 etcd 的 name // etcd 命令请指定到自己的目录 // ip 地址请改成自己的地址 // pem 证书目录请改成自己的目录 /opt/etcd/etcd --name etcd-1 \ --data-dir var/lib/etcd/default.etcd \ --listen-peer-urls https://192.168.1.109 \ --listen-client-urls https://192.168.1.109//127.0.0.1:2379 \ --advertise-client-urls https://192.168.1.109 \ --initial-advertise-peer-urls https://192.168.1.109 \ ....

关于Centos集群时间同步

  |   0 评论   |   0 浏览

安装 chrony yum install chrony -y 修改配置文件 VIM /etc/chrony.config master // 这里 写 Master 节点的地址 server 111.111.111.111 iburst # Record the rate at which the system clock gains/losses time. driftfile /var/lib/chrony/drift # Allow the system clock to be stepped in the first three updates # if its offset is larger than 1 second. makestep 1.0 3 rtcsync # Enable hardware timestamping on all interfaces that support it. #hwtimestamp * # Increase the minimum number of selectable sources required to adjust # th....

Golang基础总结

  |   0 评论   |   0 浏览

数据类型 bool int,int8-64 uint8-64 float32 float64 complex64/128 byte rune string Array,Map,Slice,*,& 关键字 package,import if,else if,else,switch,select,for,while,make struct,interface,func,defer,error,panic,recover 包 目录包说明 bufio 实现缓冲的 I/Obytes 提供了对字节切片操作的函数 crypto 收集了常见的加密常数 errors 实现了操作错误的函数 Expvar 为公共变量提供了一个标准的接口,如服务器中的运算计数器 flag 实现了命令行标记解析 fmt 实现了格式化输入输出 hash 提供了哈希函数接口 HTML 实现了一个 HTML5 兼容的分词器和解析器 image 实现了一个基本的二维图像库 io 提供了对 I/O 原语的基本接口 log 它是一个简单的记录包,提供最基本的日志功能 math 提供了一些基本的常量和数学函数 mine 实现了部分的 MIME 规范 net 提供了一个对 UNIX 网络....

从Linux体系到GPM

  |   0 评论   |   0 浏览

1.Linux-CPU 我们先看一下 Linux 系统的整体结构,这里插入搜集的两张图 从图上可知,Linux 组成分为 User Space,Kernel Space,Hardware Space 用户层,内核层,硬件层 用户层: 比如我们看到的命令行界面,我们的浏览器,执行的 Shell,或者 gcc 编译器,这些能够直接看到,使用的称之为用户层,个人理解,就是软件层。 内核层:由 Linux 内核实现的 进程管理,内存管理,虚拟化,网络管理,文件管理,等等等一个操作系统基本必备的功能,组合起来变成了内核。 硬件层:CPU,内存,网卡,声卡,IO 设备等等等 再来看一下内核 内核调用错综复杂,我们只看 threads 一列, 用户层的线程由内核中的调度器来进行调度,最后走到硬件层的 CPU,去争抢 CPU 的时间片 时间片:举个不恰当的例子,在单核计算机中我们如何做到同时做两件事儿了,就涉及到,两个进程争抢时间片或者说 CPU 分配时间片给两个进程, 浏览器拿到时间片就渲染一会儿,网易云拿到时间片就加载一会儿音乐,但是 CPU 调度切换时间非常快,以至于你的感受就是一边在看网页一边听....

记一次令人心悸的GITLAB升级经历

  |   0 评论   |   0 浏览

起因 今天日常连接上 VPN,上 GitLab 私服,对离职人员进行 block,3 个月无更新的项目进行 archive 操作,将新项目分好组,并通知其余负责人。 然后!然后我想到了最近三个月都没有更新 GitLab 了,12.5.1 版本,最新的是 12.8 版本,想着更新一下,然后问题就来了。 经过 按照常规操作,https://packages.gitlab.com/gitlab/gitlab-ce,从这个网站 wget 下最新的 GitLab Rpm 包,准备更新。 首先进行了版本查看(由于 GitLab 在数据恢复的时候必须保持版本一致),并记录了当前的 GitLab 全版本号 gitlab-ce-12.5.3-ce.0.el7.x86_64 然后进行了数据备份操作 gitlab-rake gitlab:backup:create 并将备份后的文件本地保留一份到~目录下,scp 出去一份到自己的服务器上 最后感觉万无一失的开始搞 yum install -y gitlab-ce-12.8xxxxx,然后看着日志滚动刷屏,我淡然的感觉应该没什么问题,因为更了不下 5 个版本了,就出去抽....