XXX系統部署總結

1.涉及技術及中間件

OpenResty

docker容器

k8s容器編排

keepalived

haproxy

mongodb

minio

ELK

openresty(基於 [Nginx](http://openresty.org/cn/nginx.html) 與 Lua 的高性能 Web 平臺)

redis

nginx
2.安裝方式

#所有k8s集羣節點均安裝基礎組件docker容器

#k8s集羣三主多從部署,三主通過keepalived、haproxy做高可用,從節點通過連接keepalived的虛擬ip跟主節點通訊

#redis三主三從集羣部署在三臺服務器

#mongodb一主一從一仲裁部署在三臺服務器上

#nginx部署兩臺服務器
3.Docker
Docker的啓動與停止
啓動docker:sudo systemctl start docker
停止docker:sudo systemctl stop docker

重啓docker:sudo systemctl restart docker

查看docker狀態:sudo systemctl status docker

開機啓動:sudo systemctl enable docker

查看docker概要信息:docker info

查看docker幫助文檔:docker --help

\#刪除exited狀態的容器

##sudo docker rm $(sudo docker ps -qf status=exited)

#容器創建時指定docker重啓通過參數--restart=always容器自動啓動docker run --restart=always 如果創建時未指定 --restart=always ,可通過update 命令docker update --restart=always xxx

3、 批量操作容器

docker 啓動所有的容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker 關閉所有的容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker 刪除所有的容器
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

#刪除所有鏡像~~~~sudo docker rmi $(docker images -q)

kubectl

source <(kubectl completion bash) #命令補全
啓動-停止-重啓-狀態

master

systemctl daemon-reload
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
etcd

systemctl start etcd
systemctl stop etcd
systemctl restart etcd
client

systemctl start kube-proxy -l
systemctl start docker -l
systemctl start kubelet -l
status

systemctl status etcd
systemctl status kube-apiserver -l
systemctl status kube-controller-manager -l
systemctl status kube-scheduler
systemctl status kube-proxy -l
systemctl status docker -l
systemctl status kubelet -l
常用命令

kubectl get pods
kubectl get rc
kubectl get service
kubectl get componentstatuses
kubectl get endpoints
kubectl cluster-info
kubectl create -f redis-master-controller.yaml
kubectl delete -f redis-master-controller.yaml
kubectl delete pod nginx-772ai
kubectl logs -f pods/heapster-xxxxx -n kube-system 
#查看日誌
kubectl scale rc redis-slave --replicas=3 
#修改RC的副本數量,來實現Pod的動態縮放
etcdctl cluster-health 
#檢查網絡集羣健康狀態
etcdctl --endpoints=https://192.168.71.221:2379 cluster-health 
#帶有安全認證檢查網絡集羣健康狀態
etcdctl member list
etcdctl set /k8s/network/config '{ "Network": "10.1.0.0/16" }'
etcdctl get /k8s/network/config
基礎進階

kubectl get services kubernetes-dashboard -n kube-system 
#查看所有service
kubectl get deployment kubernetes-dashboard -n kube-system 
#查看所有發佈
kubectl get pods --all-namespaces 
#查看所有pod
kubectl get pods -o wide --all-namespaces #查看所有pod的IP及節點
kubectl get pods -n kube-system | grep dashboard
kubectl describe service/kubernetes-dashboard --namespace="kube-system"
kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system" 
#指定類型查看
kubectl describe pod nginx-772ai 
#查看pod詳細信息
kubectl scale rc nginx --replicas=5 
# 動態伸縮
kubectl scale deployment redis-slave --replicas=5 
#動態伸縮
kubectl scale --replicas=2 -f redis-slave-deployment.yaml 
#動態伸縮
kubectl exec -it redis-master-1033017107-q47hh /bin/bash 
#進入容器
kubectl label nodes node1 zone=north 
#增加節點lable值 spec.nodeSelector: zone: north #指定pod在哪個節點
kubectl get nodes -lzone 
#獲取zone的節點
kubectl label pod redis-master-1033017107-q47hh role=master 
#增加lable值 [key]=[value]
kubectl label pod redis-master-1033017107-q47hh role- 
#刪除lable值
kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite 
#修改lable值
kubectl rolling-update redis-master -f redis-master-controller-v2.yaml 
#配置文件滾動升級
kubectl rolling-update redis-master --image=redis-master:2.0 
#命令升級
kubectl rolling-update redis-master --image=redis-master:1.0 --rollback 
#pod版本回滾
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章