Docker K8S安装手册

2022-05-25 21:44
238
0

资料来源:https://yuque.com/leifengyang/oncloud/mbvigg#3k0q4

Docker基本概念 1、解决的问题 1、统一标准 应用构建 Java、C++、JavaScript 打成软件包 .exe docker build .... 镜像 应用分享 所有软件的镜像放到一个指定地方 docker hub 安卓,应用市场 应用运行 统一标准的 镜像 docker run

sudo yum remove docker* sudo yum install -y yum-utils

#配置docker的yum地址 sudo yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装指定版本 sudo yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6

启动&开机启动docker

systemctl enable docker --now

docker加速配置

sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } EOF sudo systemctl daemon-reload sudo systemctl restart docker

#设置每个机器自己的hostname hostnamectl set-hostname xxx

将 SELinux 设置为 permissive 模式(相当于将其禁用)

sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

#关闭swap swapoff -a
sed -ri 's/.swap./#&/' /etc/fstab

#允许 iptables 检查桥接流量 cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf br_netfilter EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sudo sysctl --system

#配置k8s的yum源地址 cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF

#安装 kubelet,kubeadm,kubectl sudo yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9

#启动kubelet sudo systemctl enable --now kubelet

#所有机器配置master域名 echo "172.31.0.4 k8s-master" >> /etc/hosts

kubeadm init
--apiserver-advertise-address=172.31.0.4
--control-plane-endpoint=k8s-master
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images
--kubernetes-version v1.20.9
--service-cidr=10.96.0.0/16
--pod-network-cidr=192.168.0.0/16

curl https://docs.projectcalico.org/manifests/calico.yaml -O

kubectl apply -f calico.yaml

在每个机器。

yum install -y nfs-utils

在master 执行以下命令

echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports

执行以下命令,启动 nfs 服务;创建共享目录

mkdir -p /nfs/data

在master执行

systemctl enable rpcbind systemctl enable nfs-server systemctl start rpcbind systemctl start nfs-server

使配置生效

exportfs -r

#检查配置是否生效 exportfs

showmount -e 172.31.0.4

mkdir -p /nfs/data

mount -t nfs 172.31.0.4:/nfs/data /nfs/data

#确认配置是否生效 kubectl get sc

wget https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/kubesphere-installer.yaml

wget https://github.com/kubesphere/ks-installer/releases/download/v3.1.1/cluster-configuration.yaml

kubectl apply -f kubesphere-installer.yaml

kubectl apply -f cluster-configuration.yaml

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

全部评论