@nalan90
2021-11-10T02:52:30.000000Z
字数 4404
阅读 595
kubernetes
[root@master ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.33.41 master192.168.33.42 worker01192.168.33.43 worker02
##查看centos版本[root@master vagrant]# cat /etc/redhat-releaseCentOS Linux release 8.3.2011##配置国内yum源rm -rf /etc/yum.repos.d/*.repowget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo##刷新缓存yum makecache##安装基础软件yum install wget expect vim net-tools bash-completion ipvsadm ipset jq iptables conntrack sysstat libseccomp -y##关闭防火墙sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/configecho 'KUBELET_EXTRA_ARGS="--fail-swap-on=false"' > /etc/sysconfig/kubeletsetenforce 0systemctl disable firewalldsystemctl stop firewalld##关闭swapswapoff -ased -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab##安装ipvsyum install -y conntrack-tools ipvsadm ipset conntrack libseccomp# 加载IPVS模块cat > /etc/sysconfig/modules/ipvs.modules <<EOF#!/bin/bashipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_fo ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack"for kernel_module in \${ipvs_modules}; do/sbin/modinfo -F filename \${kernel_module} > /dev/null 2>&1if [ $? -eq 0 ]; then/sbin/modprobe \${kernel_module}fidoneEOFchmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep ip_vs##内核参数优化cat > /etc/sysctl.d/k8s.conf << EOFnet.ipv4.ip_forward = 1net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-ip6tables = 1fs.may_detach_mounts = 1vm.overcommit_memory=1vm.panic_on_oom=0fs.inotify.max_user_watches=89100fs.file-max=52706963fs.nr_open=52706963net.ipv4.tcp_keepalive_time = 600net.ipv4.tcp.keepaliv.probes = 3net.ipv4.tcp_keepalive_intvl = 15net.ipv4.tcp.max_tw_buckets = 36000net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp.max_orphans = 327680net.ipv4.tcp_orphan_retries = 3net.ipv4.tcp_syncookies = 1net.ipv4.tcp_max_syn_backlog = 16384net.ipv4.ip_conntrack_max = 65536net.ipv4.tcp_max_syn_backlog = 16384net.ipv4.top_timestamps = 0net.core.somaxconn = 16384EOF# 立即生效sysctl --system## 安装dockeryum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum install docker-ce -y##修改cgroupdriver为systemdvim /usr/lib/systemd/system/docker.serviceExecStart后追加--exec-opt native.cgroupdriver=systemdsystemctl daemon-reloadsystemctl restart dockersystemctl enable --now docker.service
##配置kubenetes yum源cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOFsetenforce 0dnf install -y iproute-tcyum install -y kubelet kubeadm kubectlsystemctl enable kubelet && systemctl start kubelet##查看kubeadm版本号[root@master vagrant]# kubeadm versionkubeadm version: &version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:40:11Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}# 初始化(master)kubeadm init \--kubernetes-version=v1.22.3 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16 \--apiserver-advertise-address=192.168.33.100 \--control-plane-endpoint=192.168.33.100:8443 \--upload-certs## 配置kubectl(master)To start using your cluster, you need to run the following as a regular user:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run:export KUBECONFIG=/etc/kubernetes/admin.conf## 安装flannel插件(master)wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml## 修改yaml文件(https://github.com/kubernetes/kubeadm/issues/1056)command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgr- --iface=eth1 新增这一行kubectl apply -f kube-flannel.yml## worker节点加入k8s集群kubeadm join 192.168.33.41:6443 --token blnavp.k92c6amfxxa8g0uw \--discovery-token-ca-cert-hash sha256:6d5edb63eb63951800bffd44ed1189076f3935664d7f007501fc82e269d12ee8
1、部署etcd集群: https://blog.csdn.net/lswzw/article/details/1090272552、多master部署: https://jishuin.proginn.com/p/763bfbd2e84c