2019獨角獸企業重金招聘Python工程師標準>>>
1、準備三臺虛擬機ip如下
編號 | Ip |
1 | 192.168.100.101 |
2 | 192.168.100.102 |
3 | 192.168.100.103 |
?
2、鏡像應用編排
?
192.168.100.101 主要安裝系統運維相關服務
192.168.100.102 主要安裝mysql、mongodb、elasticsearch,rabbitmq、apollo、eureka、redis
192.168.100.103 主要安裝微服務鏡像容器
?
3、安裝docker服務
系統內核升級
yum upgrade –y |
?
安裝端口查看工具lsof
yum install –y lsof |
?
安裝wegt工具
yum install –y wget |
?
安裝vim編輯器
yum install –y vim | ? |
?
修改/etc/sysconfig/selinux配置文件中SELINUX=disabled
vim /etc/sysconfig/selinux |
?
?
安裝docker服務
yum install –y docker |
?
配置docker開機啟動
systemctl enable docker |
?
關閉防火墻
systemctl stop firewalld |
?
禁止開啟防火墻啟動
systemctl disable firewalld |
?
配置docker國內加速,編輯/etc/sysconfig/docker配置文件中的OPTIONS屬性
vim /etc/sysconfig/docker |
?
具體在OPTIONS加入-Htcp://0.0.0.0:2375 -H unix:///var/run/docker.sock? 和
--registry-mirror=https://kfwkfulq.mirror.aliyuncs.com
?
重啟系統
reboot |
?
4、安裝portainer(管理docker集群)
在192.168.100.101服務器上安裝portainer
?
拉取portainer鏡像
docker pull portainer/portainer |
?
啟動容器
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer |
?
啟動完成后在瀏覽器輸入:http://192.168.100.101:9000
?
?
首次登陸需要注冊用戶,給admin用戶設置密碼:
?
?
?
?
選擇remote 分別配置 192.168.100.101 ?192.168.100.102? 192.168.100.103這三個節點
?
根據實際情況填寫相應的ip以及端口
?
配置完成 Home菜單應該是如下所示
?
這個軟件主要用于管理鏡像和容器
?
?
?
5、安裝版本管理工具gogs
拉取鏡像
docker pull gogs/gogs |
?
運行容器
docker run -di --name=gogs -p 10022:22 -p 3000:3000 --restart=always -v /var/gogsdata:/data gogs/gogs ? |
?
瀏覽器輸入:http://192.168.100.101:3000
?
?
?
注冊賬號:這個賬號是管理員賬號
6、redis安裝
拉取鏡像
docker pull redis:latest |
運行容器
docker run -di --name=redis -p 6379:6379 --restart=always redis:latest |
7、MongoDB安裝
拉取鏡像
docker pull mongo |
運行容器
docker run -di --name=mongodb -p 27017:27017 --restart=always mongo:latest |
8、RabbitMQ安裝
拉取鏡像
docker |
?
運行容器
docker run -di --name=rabbitmq -p 5671:5671 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 --restart=always docker.io/rabbitmq:management |
?
9、Elasticsearch安裝
拉取鏡像
docker pull elasticsearch:5.6.8 |
啟動容器
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -di -p 9200:9200 -p 9300:9300 --name=elasticsearch docker.io/elasticsearch:5.6.8 |
配置文件掛載到宿主機
##創建掛載目錄
mkdir /usr/share/elasticsearch |
?
##復制容器中的配置文件到掛載目錄下
docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch/elasticsearch.yml ? |
?
停止原來容器,并刪除
docker stop elasticsearch docker rm elasticsearch |
重啟啟動一個容器,并把配置文件掛載到宿主機
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -di -p 9200:9200 -p 9300:9300 --name=elasticsearch docker.io/elasticsearch:5.6.8 |
修改宿主機配置文件
vi /usr/share/elasticsearch/elasticsearch.yml |
##將transport.host: 0.0.0.0前面的‘#’去掉后保存文件退出,生產環境指定具體ip
?
##配置跨域信息,在宿主機elasticsearch.yml中配置
http.cors.enabled: true http.cors.allow-origin: "*" |
?
系統參數調優
##修改/etc/security/limits.conf ##nofile是單進程允許打開的最大文件個數,soft nofile是軟限制,hard nofile是硬限制 * soft nofile 100001 * hard nofile 100002? ##修改/etc/sysctl.conf,追加內容? vm.max_map_count=655360 ##配置立即生效 sysctl -p ## 最好重啟宿主機 |
?
重啟容器
docker restart elasticsearch |
?
安裝IK分詞器
下載ik分詞器 解壓改文件夾名稱為ik,上傳到宿主機 復制ik分詞器到容器內的plugins目錄下? docker cp ik elasticsearch:/usr/share/elasticsearch/plugins |
?
安裝elasticsearch-head
docker pull elasticsearch-head:5 docker run -di --name=es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5 |
?
10、mysql安裝
拉取鏡像
docker pull docker.io/centos/mysql-57-centos7 |
運行容器
docker run -di --name=mysql -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root? docker.io/centos/mysql-57-centos7 |
?
11、jenkins搭建
拉取鏡像
docker pull jenkins/jenkins |
創建目錄
mkdir /home/jenkins/ |
授權
cd ?/home chown -R 1000:1000 jenkins/ |
運行容器
docker run -dit -p 8888:8080 -p 50000:50000 --name=jenkins --privileged=true -v /home/jenkins/:/var/jenkins_home --restart=always jenkins/jenkins:latest |
修改hudson.model.UpdateCenter.xml
cd /home/jenkins/ vim hudson.model.UpdateCenter.xml ##把url改為http://mirror.xmission.com/jenkins/updates/update-center.json |
在$JENKINS_HOME/updates中把defaul.json中的www.google.com修改成www.baidu.com
vim /home/jenkins/updates/default.json |
重啟jenkins
docker restart jenkins |
瀏覽器輸入:http://192.168.100.101:8888
獲取初始密碼
cat /home/jenkins/secrets/initialAdminPassword |
?
把得到的密碼輸入上圖輸入框內
開始自動安裝插件
創建用戶
安裝完成
12、安裝Harbor私有鏡像倉庫
下載docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
授權
chmod +x /usr/local/bin/docker-compose |
下載harbor
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.1.tgz |
解壓,配置harbor
tar -zxvf harbor-offline-installer-v1.7.1.tgz cp –r /usr/local/src/harbor /usr/local |
?
修改配置文件
cd /usr/local/harbor vim ./harbor.cfg ##hostname修改成192.168.100.101 hostname = 192.168.100.101 |
配置docker
#因為docker默認使用的是https連接,而harbor默認使用http連接,所以需要修改docker配置標志insecure registry不安全倉庫的主機
vim /usr/lib/systemd/system/docker.service |
在ExecStart后面加上 --insecure-registry這個參數
ExecStart=/usr/bin/dockerd ?--insecure-registry=192.168.100.101 |
重新加載docker配置
systemctl daemon-reload |
重啟docker服務
systemctl restart docker |
執行腳本安裝
cd /usr/local/harbor ./install.sh |
Harbor容器的stop與start
進入到Harbor目錄執行如下命令即可
docker-compose stop/start |
?
安裝完成在瀏覽器輸入:http://192.168.100.101
初始默認用戶名密碼:admin/Harbor12345
?
提交鏡像到Harbor私有倉庫
首先打標簽
docker tag jdk1.8 192.168.100.101/public/jdk1.8:latest |
?
登錄私有倉庫
docker login 192.168.100.101 |
?
輸入用戶名:xxxx
輸入密碼:xxxx
提交鏡像到私有倉庫
docker push 192.168.100.101/public/jdk1.8:latest |
?
?
徹底刪除鏡像
docker-compose stop |
?