一、CI/CD+数据库+文件服务器

IP:192.168.30.10

1.1 Java11

1.2 Maven

1.3 TeamCity

1.4 MySQL

1.5 Oracle 11 XE

1.6 Redis

1.7 MongoDB

1.8 MinIO

二、代码托管服务器

IP:192.168.30.5

GitLab

添加软件源

  1. vim /etc/yum.repos.d/gitlab-ce.repo
  2. [gitlab-ce]
  3. name=Gitlab CE Repository
  4. baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
  5. gpgcheck=0
  6. enabled=1
  7. yum makecache

安装gitlab

  1. yum install -y gitlab-ce

修改访问路径

  1. vim /etc/gitlab/gitlab.rb
  2. external_url = "http://192.168.30.5"

三、k8s集群

IP:

  • VIP:192.168.30.100
  • Master:192.168.30.101 k8s-master
  • Node1:192.168.30.102 k8s-node1
  • Node2:192.168.30.103 k8s-node2


准备工作

  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. systemctl disable firewalld
  4. # 关闭selinux
  5. setenforce 0
  6. sed -i 's/enforcing/disabled/' /etc/selinux/config
  7. # 关闭swap
  8. swapoff -a
  9. sed -ri 's/.*swap.*/#&/' /etc/fstab
  10. # 在master添加hosts
  11. cat >> /etc/hosts << EOF
  12. 192.168.30.100 k8s-vip
  13. 192.168.30.101 k8s-master
  14. 192.168.30.102 k8s-node1
  15. 192.168.30.103 k8s-node2
  16. EOF
  17. # 将桥接的IPv4流量传递到iptables的链
  18. cat > /etc/sysctl.d/k8s.conf << EOF
  19. net.bridge.bridge-nf-call-ip6tables = 1
  20. net.bridge.bridge-nf-call-iptables = 1
  21. EOF
  22. sysctl --system
  23. # 时间同步
  24. yum install ntpdate -y
  25. ntpdate ntp.aliyun.com
  26. # 根据规划设置主机名
  27. hostnamectl set-hostname k8s-master
  28. hostnamectl set-hostname k8s-node1
  29. hostnamectl set-hostname k8s-node2

master、node节点安装docker、kubeadm、kubelet、kubectl

安装Docker

  1. yum install -y yum-utils device-mapper-persistent-data lvm2
  2. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
  4. yum makecache fast
  5. yum -y install docker-ce
  6. mkdir /etc/docker
  7. cat > /etc/docker/daemon.json <<EOF
  8. {
  9. "registry-mirrors": ["https://hrrn0cg9.mirror.aliyuncs.com"]
  10. }
  11. EOF
  12. systemctl start docker
  13. systemctl enable docker
  14. systemctl status docker

安装kubeadm,kubelet 和kubectl

  1. cat <<EOF > /etc/yum.repos.d/kubernetes.repo
  2. [kubernetes]
  3. name=Kubernetes
  4. baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
  5. enabled=1
  6. gpgcheck=1
  7. repo_gpgcheck=1
  8. gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  9. EOF
  10. yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
  11. systemctl enable kubelet

部署master

  1. kubeadm init \
  2. --apiserver-advertise-address=192.168.30.101 \
  3. --image-repository registry.aliyuncs.com/google_containers \
  4. --kubernetes-version v1.18.0 \
  5. --service-cidr=10.96.0.0/12 \
  6. --pod-network-cidr=10.244.0.0/16

安装flannel集群网络

  1. wget https://gitee.com/mirrors/flannel/raw/master/Documentation/kube-flannel.yml
  2. kubectl apply -f kube-flannel.yml
  3. kubectl get pods -n kube-system

安装Dashboard

  1. kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/v2.0.0-beta5.yaml
  2. kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/auth.yaml
  3. kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
  4. kubectl patch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' -n kubernetes-dashboard
  5. kubectl get svc -n kubernetes-dashboard
  6. mkdir -p /home/k8s-dashboard/tls && cd /home/k8s-dashboard/tls

四、区块链服务器