摘要:
Kubernetes作為容器應(yīng)用的管理平臺(tái),通過(guò)對(duì)pod的運(yùn)行狀態(tài)進(jìn)行監(jiān)控,并且根據(jù)主機(jī)或容器失效的狀態(tài)將新的pod調(diào)度到其他node上,實(shí)現(xiàn)了應(yīng)用層的高可用。 針對(duì)kubernetes集群,高可用性還包含以下兩個(gè)層面的考慮: etcd存儲(chǔ)的高可用 master節(jié)點(diǎn)的高可用 在開(kāi)始之前,先貼一下架構(gòu)
閱讀全文
posted @ 2017-11-25 22:44
KeithTt
閱讀(14116)
推薦(2)
摘要:
同步公網(wǎng) yum 源,上游 yum 源必須要支持 rsync 協(xié)議,否則不能使用 rsync 進(jìn)行同步。 CentOS源:rsync://rsync.mirrors.ustc.edu.cn/centos/ EPEL源:rsync://rsync.mirrors.ustc.edu.cn/epel/ 同
閱讀全文
posted @ 2017-09-24 17:50
KeithTt
閱讀(7395)
推薦(0)
摘要:
nginx默認(rèn)的日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "
閱讀全文
posted @ 2017-05-17 12:49
KeithTt
閱讀(9242)
推薦(2)
摘要:
將序列轉(zhuǎn)換為計(jì)數(shù)字典{元素: 頻度},然后根據(jù)頻度排序。 1、使用 dict.fromkeys() 構(gòu)造計(jì)數(shù)字典 from random import randint # 創(chuàng)建一個(gè)隨機(jī)列表 L = [randint(0, 20) for _ in range(30)] print(L) # 創(chuàng)建一個(gè)
閱讀全文
posted @ 2021-08-23 01:35
KeithTt
閱讀(117)
推薦(0)
摘要:
from kubernetes import client, config, watch from elasticsearch import Elasticsearch import arrow import sys import requests import json dingding_webh
閱讀全文
posted @ 2021-04-28 16:55
KeithTt
閱讀(374)
推薦(0)
摘要:
PM2 is a daemon process manager that will help you manage and keep your application online. 1、安裝 node 環(huán)境 cd /usr/local/ wget https://nodejs.org/dist/v
閱讀全文
posted @ 2020-09-21 17:15
KeithTt
閱讀(204)
推薦(0)
摘要:
CoreDNS 的架構(gòu) 解析流程 這里用到的是 CoreDNS 的 hosts plugin 插件。該插件僅支持 A, AAAA, 和 PTR 記錄。 kubectl edit configmap coredns -n kube-system apiVersion: v1 kind: ConfigM
閱讀全文
posted @ 2020-06-28 18:46
KeithTt
閱讀(12006)
推薦(0)
摘要:
準(zhǔn)備工作: 1、Kubernetes版本: 1.15.x ≤ K8s version ≤ 1.17.x 2、Helm版本: 2.10.0 ≤ Helm Version < 3.0.0(不支持 helm 2.16.0 #6894) 3、集群已有默認(rèn)的StorageClass 如何安裝 helm2,上一
閱讀全文
posted @ 2020-06-27 02:03
KeithTt
閱讀(1559)
推薦(0)
摘要:
1、安裝 dnsmasq yum install -y dnsmasq 2、修改配置 $ grep -v '^#' /etc/dnsmasq.conf |grep -v '^$' resolv-file=/etc/resolv.dnsmasq.conf strict-order server=114
閱讀全文
posted @ 2020-06-24 21:35
KeithTt
閱讀(1137)
推薦(0)
摘要:
helm2 的架構(gòu)跟 helm3 的架構(gòu)不同。 在 helm2 架構(gòu)中,helm 是客戶端,tiller 是服務(wù)端部署在 k8s 集群內(nèi)部。 1、使用二進(jìn)制包安裝 helm 客戶端 wget https://get.helm.sh/helm-v2.16.9-linux-amd64.tar.gz ta
閱讀全文
posted @ 2020-06-21 01:12
KeithTt
閱讀(1536)
推薦(0)
摘要:
場(chǎng)景:前端業(yè)務(wù)使用了微服務(wù)架構(gòu),需要在一個(gè)主項(xiàng)目中編譯打包所有子項(xiàng)目。 1、創(chuàng)建一個(gè)流水線任務(wù) 2、填寫(xiě)項(xiàng)目描述 3、編寫(xiě) pipeline 腳本 pipeline { agent any stages { stage("build console all") { steps { script {
閱讀全文
posted @ 2020-06-20 02:21
KeithTt
閱讀(6865)
推薦(0)
摘要:
整個(gè) CICD 流程大致如下: 這里 jenkins/gitlab/harbor 都是現(xiàn)成的哈,主要記錄一下集成過(guò)程和其中遇到的問(wèn)題。 1、創(chuàng)建一個(gè)流水線任務(wù) 2、填寫(xiě)項(xiàng)目描述 3、編寫(xiě) pipeline 腳本和其中調(diào)用的 shell 腳本 pipeline { agent any environm
閱讀全文
posted @ 2020-06-16 23:30
KeithTt
閱讀(1645)
推薦(0)
摘要:
這里使用的是外部 mysql 數(shù)據(jù)庫(kù),所以沒(méi)有使用官方提供的 mysql 和存儲(chǔ)方案。 1、clone 項(xiàng)目 git clone https://github.com/nacos-group/nacos-k8s.git 2、修改 yaml 文件,這里要注意 NACOS_SERVERS 的格式 vim
閱讀全文
posted @ 2020-06-12 15:54
KeithTt
閱讀(3969)
推薦(1)
摘要:
并發(fā): 一段時(shí)間內(nèi),有幾個(gè)程序在同一個(gè)cpu上運(yùn)行,但是任意時(shí)刻只有一個(gè)程序在一個(gè)cpu上運(yùn)行 并行: 任意時(shí)刻有多個(gè)程序同時(shí)運(yùn)行在多個(gè)cpu上 同步、異步,與阻塞、非阻塞不相關(guān) 函數(shù)或方法被調(diào)用的時(shí)候,調(diào)用者是否得到最終結(jié)果 同步: 直接得到最終結(jié)果的,就是同步調(diào)用。同步就是一直要執(zhí)行到返回最終結(jié)
閱讀全文
posted @ 2020-05-28 15:34
KeithTt
閱讀(471)
推薦(0)
摘要:
1、設(shè)置 Node 環(huán)境 2、創(chuàng)建一個(gè)自由風(fēng)格的項(xiàng)目 3、添加項(xiàng)目描述 4、添加 git 地址 5、設(shè)置構(gòu)建環(huán)境 6、通過(guò) shell 打包代碼 7、發(fā)布到服務(wù)器上 腳本如下: 參考: https://blog.csdn.net/liub37/article/details/83272398 htt
閱讀全文
posted @ 2020-05-09 11:07
KeithTt
閱讀(513)
推薦(0)
摘要:
集群架構(gòu): 三個(gè)節(jié)點(diǎn) 172.27.132.22 172.27.132.24 172.27.132.37 nacos version: 1.2.1 OS version: centos7.5 vip:172.27.133.200 1、下載安裝 jdk $ yum install -y jdk-8u2
閱讀全文
posted @ 2020-04-29 00:30
KeithTt
閱讀(2342)
推薦(0)
摘要:
HTTP協(xié)議是無(wú)狀態(tài)協(xié)議,為了解決這個(gè)問(wèn)題產(chǎn)生了cookie和session技術(shù)。 傳統(tǒng)的session cookie機(jī)制 無(wú)session方案 命令行操作 編碼 TOKEN由三部分拼接而成 HEADER: ALGORITHM & TOKEN TYPE PAYLOAD: DATA VERIFY SI
閱讀全文
posted @ 2020-04-28 17:42
KeithTt
閱讀(350)
推薦(0)
摘要:
最近遇到一個(gè)問(wèn)題,keepalived 在 OpenStack 環(huán)境下一直腦裂無(wú)法選舉。在不支持組播的場(chǎng)景下,可以使用單播模式。 主節(jié)點(diǎn): 備節(jié)點(diǎn): 參考: https://www.jianshu.com/p/7c709c3be4a9 https://blog.csdn.net/weixin_343
閱讀全文
posted @ 2020-04-23 09:50
KeithTt
閱讀(3627)
推薦(0)
摘要:
主節(jié)點(diǎn)配置: 從節(jié)點(diǎn)配置: 參考: https://www.keepalived.org/pdf/UserGuide.pdf https://github.com/acassen/keepalived
閱讀全文
posted @ 2020-04-22 11:51
KeithTt
閱讀(164)
推薦(0)
摘要:
翻轉(zhuǎn)一棵二叉樹(shù)。 輸入: 輸出: 代碼如下: 參考: https://leetcode cn.com/problems/invert binary tree/
閱讀全文
posted @ 2020-04-22 11:28
KeithTt
閱讀(130)
推薦(0)
摘要:
1、安裝 Node 環(huán)境 a、官網(wǎng)下載 tar 包 b、解壓設(shè)置環(huán)境變量 PATH=/usr/local/node/bin:$PATH 2、安裝 sinopia npm install -g sinopia 3、初次手動(dòng)啟動(dòng)服務(wù)生成配置文件 $ sinopia Sinopia doesn't nee
閱讀全文
posted @ 2020-04-13 19:56
KeithTt
閱讀(605)
推薦(0)
摘要:
現(xiàn)象如下: 設(shè)置如下:
閱讀全文
posted @ 2020-04-13 19:45
KeithTt
閱讀(2318)
推薦(0)
摘要:
這個(gè)設(shè)置用于自動(dòng)將404響應(yīng)跳轉(zhuǎn)到首頁(yè)入口文件 index.html。 webpack 配置如下: 部署到服務(wù)器上時(shí) nginx 的配置如下: 參考: https://webpack.js.org/configuration/dev server/ devserverhistoryapifallba
閱讀全文
posted @ 2020-04-13 19:27
KeithTt
閱讀(3146)
推薦(0)
摘要:
這里主要記錄 task 創(chuàng)建過(guò)程,jdk和插件安裝等準(zhǔn)備工作就不說(shuō)了。 1、創(chuàng)建一個(gè) maven 任務(wù) 2、添加項(xiàng)目描述 3、添加 git 倉(cāng)庫(kù)地址和分支 4、添加 pom 文件路徑 和 maven 構(gòu)建參數(shù) 5、發(fā)布代碼 腳本太長(zhǎng)截不全,具體如下:
閱讀全文
posted @ 2020-03-27 22:21
KeithTt
閱讀(510)
推薦(0)
摘要:
1、安裝 rsync 和 inotify yum install -y rsync inotify-tools 2、編寫(xiě)監(jiān)控腳本 #!/usr/bin/env bash app_name=cms src=/dev/${app_name}/ # 需要同步的源路徑 des=/dev/${app_name
閱讀全文
posted @ 2020-03-27 21:23
KeithTt
閱讀(513)
推薦(0)
摘要:
架構(gòu)圖 節(jié)點(diǎn)規(guī)劃 120.52.146.213 Control Machine 120.52.146.214 PD1_TiDB1 120.52.146.215 PD2_TiDB2 120.52.146.216 PD3 120.52.146.217 TiKV1 120.52.146.218 TiKV2
閱讀全文
posted @ 2019-10-22 10:32
KeithTt
閱讀(884)
推薦(0)
摘要:
1、同步資源 # rsync -vrt rsync://repo.zabbix.com/mirror/zabbix/3.4/rhel/7/x86_64/ /home/mirrors/zabbix/3.4/rhel/7/x86_64/ 2、配置apache發(fā)布鏡像目錄,當(dāng)然也可以用nginx或者其他w
閱讀全文
posted @ 2019-03-17 16:50
KeithTt
閱讀(1517)
推薦(0)
摘要:
redis不是一個(gè)純文本kv存儲(chǔ),實(shí)際上,它是一個(gè)數(shù)據(jù)結(jié)構(gòu)服務(wù),支持不同類型的value。 包含以下類型: 關(guān)于key: key是二進(jìn)制安全的,可以使用任意二進(jìn)制序列作為key,包括純字符串甚至是一個(gè)JPEG文件。 最大允許大小為512MB。 Strings 字符串類型是最簡(jiǎn)單的數(shù)據(jù)類型,是Memc
閱讀全文
posted @ 2019-01-12 13:39
KeithTt
閱讀(467)
推薦(0)
摘要:
這里僅針對(duì)docker本身,不涉及任何編排工具compose或者k8s等。 按照慣例,官文擼起來(lái)。 重要的部分是一些選項(xiàng),用來(lái)限制資源大小。 Memory 多數(shù)選項(xiàng)值都是正整數(shù),單位是b, k, m, g,分別表示 bytes, kilobytes, megabytes, 和 gigabytes。
閱讀全文
posted @ 2019-01-06 23:35
KeithTt
閱讀(845)
推薦(0)
摘要:
記性不好,回顧一下。按照慣例,直接看官文。 docker的網(wǎng)絡(luò)子系統(tǒng)是插件化的,需要使用驅(qū)動(dòng)。默認(rèn)支持以下幾種驅(qū)動(dòng): bridge:橋接,默認(rèn)的網(wǎng)絡(luò)驅(qū)動(dòng),如果不指定驅(qū)動(dòng),將默認(rèn)使用橋接。通常用在同一個(gè)docker主機(jī)中的多個(gè)容器間通信。 host:去掉容器和宿主機(jī)之間的網(wǎng)絡(luò)隔離,直接使用宿主機(jī)的網(wǎng)絡(luò)
閱讀全文
posted @ 2019-01-06 19:26
KeithTt
閱讀(283)
推薦(0)
摘要:
首先,staticmethod和classmethod裝飾器是通過(guò)非數(shù)據(jù)描述符實(shí)現(xiàn)的。用法簡(jiǎn)單,這里就不細(xì)說(shuō)了。 這里主要分析一下staticmethod和classmethod是如何通過(guò)描述符實(shí)現(xiàn)的。 如果看過(guò)了上篇property,相比之下,這個(gè)就簡(jiǎn)單了不少。 這里用到了偏函數(shù)、裝飾器以及面向?qū)?
閱讀全文
posted @ 2019-01-05 12:41
KeithTt
閱讀(525)
推薦(0)
摘要:
首先,property裝飾器是通過(guò)數(shù)據(jù)描述符實(shí)現(xiàn)的。用法很簡(jiǎn)單,大家應(yīng)該都知道,這里就不細(xì)說(shuō)了。 這里主要分析一下property是如何通過(guò)描述符實(shí)現(xiàn)的。 訪問(wèn) 賦值 這里涉及到裝飾器,需要對(duì)裝飾器和面向?qū)ο笥凶銐虻牧私獠拍芘靼桩?dāng)中的變量傳遞,希望你不會(huì)被擋住。 參考: https://docs.
閱讀全文
posted @ 2019-01-05 07:04
KeithTt
閱讀(470)
推薦(0)
摘要:
初學(xué)py的時(shí)候大家都說(shuō)描述符是高級(jí)內(nèi)容難度較大,仔細(xì)擼過(guò)文檔之后感覺(jué)還好,不過(guò)用起來(lái)確實(shí)不那么直觀。 按照慣例,先來(lái)看一下官文API文檔: 總的來(lái)說(shuō),描述符是一個(gè)帶有綁定行為的對(duì)象屬性,訪問(wèn)這個(gè)對(duì)象屬性的時(shí)候會(huì)被 描述符協(xié)議 中的方法覆蓋,可以理解為一種hook機(jī)制。 描述符協(xié)議包括三個(gè)魔術(shù)方法:
閱讀全文
posted @ 2019-01-05 05:44
KeithTt
閱讀(867)
推薦(0)
摘要:
作為一個(gè)py3土著,并不是很關(guān)心這個(gè)問(wèn)題,但是總有人隔三差五問(wèn)這個(gè)問(wèn)題,還是捋了一下。 這里列出幾個(gè)主要區(qū)別: 1、最常見(jiàn)的人盡皆知的print()函數(shù) 在py2中,print是一個(gè)語(yǔ)句,不帶括號(hào),也可以帶括號(hào)。 在py3中,print是一個(gè)函數(shù),必須帶括號(hào)調(diào)用。 2、除法 3、unicode 在p
閱讀全文
posted @ 2019-01-04 07:33
KeithTt
閱讀(933)
推薦(0)
摘要:
除了常見(jiàn)的os.system和os.popen方法,官方強(qiáng)烈推薦使用subprocess來(lái)調(diào)用系統(tǒng)命令。 這個(gè)庫(kù)用起來(lái)其實(shí)很簡(jiǎn)單,按照慣例先貼一下官文關(guān)鍵點(diǎn): The subprocess module allows you to spawn new processes, connect to th
閱讀全文
posted @ 2018-12-27 15:07
KeithTt
閱讀(281)
推薦(0)
摘要:
一、打包Django應(yīng)用 1.創(chuàng)建setup.py文件 2.保存項(xiàng)目中使用的庫(kù) 3.打包源碼 二、在部署server上安裝依賴包 三、修改Django配置文件 四、測(cè)試運(yùn)行 第一種部署方式,直接以http方式啟動(dòng) 1.安裝uwsgi 2.運(yùn)行app 3.測(cè)試訪問(wèn) http://ip:8001/pos
閱讀全文
posted @ 2018-12-27 03:19
KeithTt
閱讀(1676)
推薦(0)
摘要:
Selenium把元素定位接口封裝得更簡(jiǎn)單易用了,支持Xpath、CSS選擇器、以及標(biāo)簽名、標(biāo)簽屬性和標(biāo)簽文本查找。 參考: https://selenium python.readthedocs.io/locating elements.html https://selenium python.r
閱讀全文
posted @ 2018-12-26 07:49
KeithTt
閱讀(300)
推薦(0)
摘要:
1、數(shù)據(jù)是使用scrapy redis爬取的,存放在redis里面,爬取的是最近大熱電影《海王》 2、使用了jieba中文分詞解析庫(kù) 3、使用了停用詞stopwords,過(guò)濾掉一些無(wú)意義的詞 4、使用matplotlib+wordcloud繪圖展示 繪圖結(jié)果: 參考: https://github.
閱讀全文
posted @ 2018-12-26 06:41
KeithTt
閱讀(331)
推薦(0)
摘要:
使用Xpath和BeautifulSoup來(lái)解析網(wǎng)頁(yè)可以說(shuō)真的很簡(jiǎn)便。 解析結(jié)果:
閱讀全文
posted @ 2018-12-26 06:18
KeithTt
閱讀(398)
推薦(0)
摘要:
三路快排 也是用來(lái)解決序列中存在大量重復(fù)元素的問(wèn)題,比雙路快排更高效 將序列分為三個(gè)部分,小于pivot、等于pivot、大于pivot 等于pivot的部分不遞歸,這樣在存在大量重復(fù)元素時(shí),將大大縮小遞歸的數(shù)據(jù)規(guī)模
閱讀全文
posted @ 2018-12-26 02:41
KeithTt
閱讀(830)
推薦(0)
摘要:
序列元素重復(fù),是序列已經(jīng)排好序的一種特殊情況,如果一個(gè)序列中的元素全部相同,也將出現(xiàn)最差情況。 如果序列中存在大量重復(fù)元素,在普通快排中,相等的元素會(huì)被全部放到分區(qū)點(diǎn)的一邊,這樣會(huì)大大增加快排的時(shí)間復(fù)雜度,雙路快排就是用來(lái)解決這個(gè)問(wèn)題的。 能夠?qū)⑿蛄芯夥珠_(kāi)的分區(qū)點(diǎn)才是好的分區(qū)點(diǎn)。均勻分開(kāi)意味著保持
閱讀全文
posted @ 2018-12-26 01:07
KeithTt
閱讀(519)
推薦(0)
摘要:
當(dāng)序列已經(jīng)排好序時(shí),將出現(xiàn)最差情況,時(shí)間復(fù)雜度降為O(n²) 隨機(jī)快排用于解決序列近乎有序時(shí)算法復(fù)雜度退化為O(n²)的問(wèn)題 from random import shuffle, randrange def quick_sort(lst, left, right): 當(dāng)只有一個(gè)元素的時(shí)候退出遞歸
閱讀全文
posted @ 2018-12-26 01:04
KeithTt
閱讀(421)
推薦(0)
摘要:
快速排序 又稱分區(qū)交換排序(partition exchange sort) 平均時(shí)間復(fù)雜度為O(nlogn) from random import shuffle def quick_sort(lst, left, right): 當(dāng)只有一個(gè)元素的時(shí)候退出遞歸 if left
閱讀全文
posted @ 2018-12-26 01:00
KeithTt
閱讀(181)
推薦(0)