> 文章列表 > docker + K8S + Rancher + Harbor的安装

docker + K8S + Rancher + Harbor的安装

docker + K8S + Rancher + Harbor的安装

docker + K8S + Rancher + Harbor的安装

1. 系统初始化

  • 关闭防火墙

    systemctl stop firewalld
    
  • 禁用防火墙开机自启

    systemctl disable firewalld
    
  • 永久-关闭selinux

    sed -i 's/enforcing/disabled/' /etc/selinux/config
    # 重启
    reboot
    
  • 关闭swap分区

    # 永久
    sed -ri 's/.*swap.*/#&/' /etc/fstab
    # 重启
    reboot
    
  • 设置主机名

    #每台服务器设置
    hostnamectl set-hostname <hostname>
    
  • 节点上添加hosts

    cat >> /etc/hosts << EOF
    192.168.210.1 k8s-master
    192.168.210.2 k8s-node1
    192.168.210.3 k8s-node2
    EOF
    
  • 将桥接的IPv4流量传递到iptables的链

    cat > /etc/sysctl.d/k8s.conf << EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    vm.swappiness = 0
    EOF# 加载br_netfilter模块
    modprobe br_netfilter# 查看是否加载
    lsmod | grep br_netfilter# 生效
    sysctl --system 
    
  • 时间同步

    #在每个节点添加时间同步
    yum install ntpdate -yntpdate time.windows.com
    
  • 开启ipvs

    #在每个节点执行
    yum -y install ipset ipvsadm#在所有节点执行如下脚本
    cat > /etc/sysconfig/modules/ipvs.modules <<EOF
    #!/bin/bash
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    EOF#授权、运行、检查是否加载
    chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4#检查是否加载
    lsmod | grep -e ipvs -e nf_conntrack_ipv4
    

2 . Docker和K8S安装

  • 安装Docker
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repoyum -y install docker-ce-18.06.3.ce-3.el7systemctl enable docker && systemctl start dockerdocker version
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'
{"exec-opts": ["native.cgroupdriver=systemd"],	"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reloadsudo systemctl restart docker
  • 添加阿里云的YUM软件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
  • 安装kubeadm、kubelet和kubectl
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0vim /etc/sysconfig/kubelet# 修改
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"systemctl enable kubelet
  • 部署k8s的Master节点
kubeadm init \\--apiserver-advertise-address=<master IP> \\--image-repository registry.aliyuncs.com/google_containers \\--kubernetes-version v1.18.0 \\--service-cidr=10.96.0.0/12 \\--pod-network-cidr=10.244.0.0/16

在初始化的过程中,如果master IP是公网IP,可能会卡住,在卡住的过程中,重新启用一个客户端,把在这个文件设置为0.0.0.0。

vim /etc/kubernetes/manifests/etcd.yaml

把–listen-client-urls和–listen-peer-urls的127.0.0.1改为0.0.0.0

- --listen-client-urls=https://0.0.0.0:2379
- --listen-metrics-urls=http://127.0.0.1:2381
- --listen-peer-urls=https://0.0.0.0:2380

根据提示信息,使用kubectl:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 添加k8s的Node节点
# 向k8s集群中添加Node节点
kubeadm join <master ip>:6443 --token 4016im.eg4e10yamcbxjm59 \\--discovery-token-ca-cert-hash sha256:ce2111ce594e5189255144a72268250e5eedda87470cc3a1f69f8c973927699e

默认的token有效期为24小时,当过期之后,这时可以使用如下的命令创建token:

kubeadm token create --print-join-command# 生成一个永不过期的token
kubeadm token create --ttl 0
  • 部署CNI网络插件。

    根据kubectl get nodes查看nodes状态。如果没有装CNI插件,节点会是NotReady状态。

#在Master节点部署CNI网络插件(可能会失败,如果失败,请下载到本地,然后安装):
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f kube-flannel.yml#查看部署CNI网络插件进度
kubectl get pods -n kube-system
  • 查看集群健康状态:
kubectl get cskubectl cluster-info

3. Rancher和Harbor安装

网上下载docker-compose和harbor安装包。

  • 安装docker-compose:
# 赋权限,并剪切到/usr/local/sbin/docker-compose目录
chmod +x docker-compose-linux-x86_64 
mv docker-compose-linux-x86_64 /usr/local/sbin/docker-compose
  • harbor安装

    #解压:
    tar zxf harbor-offline-installer-v2.4.1.tgz#copy并修改配置文件:
    cp harbor.yml.tmpl harbor.yml#主要修改 hostname ip, Port#执行脚本
    ./install.sh
    

    配置开机自启

    /usr/local/sbin/docker-compose -f /data/software/harbor/docker-compose.yml up -d
    

    设置权限:

    chmod +x /etc/rc.local /etc/rc.d/rc.local
    

    安装完毕。

  • 配置每台节点,Docker harbor镜像库

​ 配置文件的默认路径:/etc/docker/daemon.json

"insecure-registries": ["ip:port"] 
  • 安装rancher

    拉起rancher 2.7.2镜像。

    docker run -d --privileged=true --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.7.2
    
  • 导入已有集群。

    找到目录集群管理,点击导入已有集群按钮。选择通用。

    docker + K8S + Rancher + Harbor的安装

​ 根据提示在master执行提示的命令。等待即可。中间可以用下面命令查看是否启动Ok。

kubectl get pods -n cattle-system

docker + K8S + Rancher + Harbor的安装

  • 部署测试应用(截图)。

    docker + K8S + Rancher + Harbor的安装
    docker + K8S + Rancher + Harbor的安装

配置Harbor 账号密码:

docker + K8S + Rancher + Harbor的安装
引用文章出处:
https://www.cnblogs.com/xuweiweiwoaini/p/13884112.html
https://zhuanlan.zhihu.com/p/410371256