Cuicheng's 博客

日啖荔枝三百颗 不辞长作岭南人

0%

script
1
2
# 最新安装包位置
https://kong.bintray.com/kong-community-edition-rpm/centos/7/
script
1
yum install -y https://kong.bintray.com/kong-community-edition-rpm/centos/7/kong-community-edition-1.1.2.el7.noarch.rpm
script
1
2
# 前王该地址获取最新包
https://yum.postgresql.org/repopackages/
script
1
yum install postgresql13-contrib postgresql13-server -y
script
1
2
3
4
5
6
# 安装
/usr/pgsql-13/bin/postgresql-13-setup initdb
vim /var/lib/pgsql/13/data/postgresql.conf
vim /var/lib/pgsql/13/data/pg_hba.conf
# 修改 listen_addresses
sed -i /^listen_addresses/c\listen_addresses=\'*\' /var/lib/pgsql/13/data postgresql.conf
script
1
2
# pg 查询用户
select rolname,rolpassword from pg_authid;
script
1
2
3
4
5
6
7
8
9
10
11
su - postgres << EOF

psql << XOF

CREATE USER kong;
CREATE DATABASE kong OWNER kong;
ALTER USER kong PASSWORD 'Kong@123';

XOF

EOF
script
1
2
# 修改pg密码
\password role
script
1
2
3
4
5
6
# kong docker 安装地址
https://docs.konghq.com/install/docker/
# 配置修改
vim /etc/kong/kong.conf

kong
script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker run -d --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-p 8000:8000 \
-p 8443:8443 \
-p 10.0.0.22:8001:8001 \
-p 10.0.0.22:8444:8444 \
kong:latest
script
1
2
3
4
curl -i -X POST \
--url http://10.0.0.22:8001/services/ \
--data 'name=actifio-service' \
--data 'url=https://10.0.0.6'
script
1
2
3
curl -i -X POST \
--url http://10.0.0.22:8001/services/actifio-service/routes \
--data 'hosts[]=activeio.com.cn'
script
1
2
3
curl -i -X GET \
--url http://10.0.0.22:8000/ \
--header 'Host: activeio.com.cn'

下载如下安装包到本地目录

http://mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-88.el7.x86_64.rpm 
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-devel-2.7.5-88.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-88.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm

http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-python-4.11.3-43.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-167.el7.centos.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-aliases-1.1.31-53.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-53.el7.noarch.rpm 
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-53.el7.noarch.rpm
http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-53.el7.noarch.rpm

本地目录安装

script
1
rpm -ivh --force *.rpm --nodeps

准备依赖

script
1
2
3
pip install virtualenv

pip install virtualenvwrapper

配置 bashrc

增加如下配置

script
1
2
3
4
export WORKON_HOME=~/.environments
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/root/.local/bin/virtualenv
source /root/.local/bin/virtualenvwrapper.sh

启用配置

script
1
source ~/.bashrc

虚拟环境

创建

script
1
mkvirtualenv -p python3 py3_flask

查看

script
1
workon

切换

script
1
workon py3_flask

备注

centos 环境下 不建议完全直接删除原有自带的python, 可能会造成 yum 等无法使用
如果想要完全卸载自带python,请使用以下命令:
script
1
2
3
4
5
6
7
8
# 卸载
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps

# 删除残余文件
whereis python |xargs rm -frv

# 验证删除
whereis python

准备依赖

script
1
yum install wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel python3-devel

指定源码包存放位置,以下都在该位置进行

script
1
cd ${SOME_PATH}

获取源码包

script
1
2
3
# www.python.org/ftp/python
wget https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tgz
tar zxvf Python-3.8.4.tgz

配置并安装

script
1
2
3
4
5
6
7
8
9
cd Python-3.8.4

./configure --with-ssl --enable-optimizations --prefix=/usr/local/python3

make && make install

ln -s /usr/local/python/bin/python3 /usr/bin/python3

ln -s /usr/local/python/bin/pip3 /usr/bin/pip3

检查安装

script
1
python -V

ambx-server

1
git clone http://gitlab.retlines.com/actifio/ambx-server.git

install

script
1
2
3
mkvirtualenv -p python3 py3_flask

pip3 install -r requirements.txt

start project

script
1
2
3
python3 run.oy

curl http://127.0.0.1:5000/

api doc

generate

script
1
2
3
4
5
cd doc
sphinx-quickstart
sphinx-apidoc -o source ../src
make clean
make html

config

script
1
2
3
4
5
6
7
8
9
10
11
12
13
# doc/source/conf.py
import os
import sys
sys.path.insert(0, os.path.abspath('../../src/..'))#指向resources目录

language = 'zh_CN'

extensions = ['sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.mathjax']

安装king

script
1
2
3
4
5
6
7
8
9
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.8.1/kind-$(uname)-amd64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind

#
kind create cluster --name kind-2

#
kubectl cluster-info --context kind-kind-2

安装kuebctl

script
1
2
3
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

安装 dashboard

script
1
2

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

script
1
2
#
kubectl apply -f yaml/registry.yaml
script
1
2
3
kubectl apply -f yaml/deployment-nginx.yaml
kubectl apply -f yaml/service-nginx.yaml
kubectl expose deployment nginx-deployment --type=NodePort
script
1
2
3
kubectl describe node kind

kubectl get deployment -o wide
script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
- kubeProxyMode: ipvs
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
EOF

常用证书文件格式说明

常见公钥后缀:pem crt key
常见私钥后缀:pfx p12 pem key

PKCS

全称是 Public-Key Cryptography Standards 
是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 

常用的有:

PKCS#7
    也叫做加密消息的语法标准,由RSA安全体系在公钥加密系统中交换数字证书产生的一种加密标准。
    常用的后缀是: .P7B .P7C .SPC
    .p7r: CA对证书请求的回复,只用于导入
    .p7b: 以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。

PKCS#10
    描述证书请求语法
    常用的后缀有: .P10

PKCS#12
   描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法,2进制方式
   常用的后缀有: .P12 .PFX

X.509

是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。

X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT

.cer/.crt: 用于存放证书,它是2进制形式存放的,不含私钥。
.pem: 跟crt/cer的区别是它以Ascii来表示。

1
2
# [统计文件数的路径] 必须包含  [要排除的路径]
cloc --fullpath --not-match-d 要排除的路径 统计文件数的路径