1. 環(huán)境準(zhǔn)備
konga 是Kong的圖形化管理工具定拟,使用NodeJs編寫倦淀。
由于機(jī)房內(nèi)部無法連接哥牍,從Konga源碼構(gòu)建比較麻煩惩歉,這里我使用 Konga的Docker鏡像
2. 安裝
2.1 安裝docker
tar -xvf docker-18.09.6.tgz
將解壓出來的文件全部拷貝到/usr/local/bin
cd docker
cp * /usr/bin/
啟動(dòng)Dockerd 進(jìn)程
dockerd &
可以修改一下Docker的默認(rèn)存放鏡像和容器的存放目錄
修改Docker工作目錄:
# 查看一下當(dāng)前Docker的工作目錄
[root@sybj-int-25 ~]# docker info | grep 'Docker Root'
Docker Root Dir: /var/lib/docker
mv /var/lib/docker /opt/ylbzj/
ln -s /opt/ylbzj/docker /var/lib/docker
2.2 啟動(dòng)Konga容器
將下載下來的包導(dǎo)入Docker
docker load -i kong-docker-image.tar
查看導(dǎo)進(jìn)來的容器
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
pantsel/konga 0.14.7 bb9636231c3d 5 months ago 398MB
konga 默認(rèn)使用本地json文件存儲(chǔ)數(shù)據(jù),生成環(huán)境需要換成mysql或者其他數(shù)據(jù)庫裁奇,這里咱們使用Mysql桐猬,在mysql數(shù)據(jù)庫新建一個(gè)名為konga的數(shù)據(jù)庫實(shí)例,然后開始初始化數(shù)據(jù)庫刽肠,建立Mysql表結(jié)構(gòu)溃肪。
[root@sybj-int-25 ~]# docker run --rm pantsel/konga:0.14.7 -c prepare -a mysql -u mysql://username:password@10.0.3.29:3306/konga
debug: Preparing database...
Using MySQL DB Adapter.
Creating database `konga` if not exists.
(node:6) [DEP0096] DeprecationWarning: timers.unenroll() is deprecated. Please use clearTimeout instead.
(node:6) [DEP0095] DeprecationWarning: timers.enroll() is deprecated. Please use setTimeout instead.
debug: Hook:api_health_checks:process() called
debug: Hook:health_checks:process() called
debug: Hook:start-scheduled-snapshots:process() called
debug: Hook:upstream_health_checks:process() called
debug: Hook:user_events_hook:process() called
debug: Seeding User...
debug: User seed planted
debug: Seeding Kongnode...
debug: Kongnode seed planted
debug: Seeding Emailtransport...
debug: Emailtransport seed planted
debug: Database migrations completed!
如果你的數(shù)據(jù)庫密碼有URL特殊字符。需要進(jìn)行url encode音五。
以上步驟已經(jīng)初始化好了Mysql數(shù)據(jù)庫表結(jié)構(gòu)惫撰。
啟動(dòng)konga容器
docker run -d -p 1337:1337 -e "TOKEN_SECRET=123qwe" -e "DB_ADAPTER=mysql" -e "DB_URI=mysql://username:password@yourIP:3306/konga" -e "NODE_ENV=production" --name konga pantsel/konga:0.14.7
啟動(dòng)Dockerd 進(jìn)程的時(shí)候,自動(dòng)啟動(dòng)容器
docker container update --restart=always konga
開機(jī)啟動(dòng)Dockerd
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
安裝完成躺涝。
3. 設(shè)置開機(jī)啟動(dòng)
3.1 cassandra 開機(jī)啟動(dòng)
編寫cassandra.service
vim /usr/lib/systemd/system/cassandra.service
Description=Cassandra Server Service
After=network.service
[Service]
Type=simple
Environment=JAVA_HOME=/usr/local/jdk1.8.0_231
PIDFile=/opt/ylbzj/apache-cassandra-3.11.6/bin/cassandra.pid
User=cassandra
Group=cassandra
ExecStart=/opt/ylbzj/apache-cassandra-3.11.6/bin/cassandra -p /opt/ylbzj/apache-cassandra-3.11.6/bin/cassandra.pid
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
設(shè)置開機(jī)啟動(dòng)
systemctl daemon-reload
systemctl enable cassandra