linux cpu占用率如何看
276
2022-09-11
Kubeadm部署k8s 1.18高可用集群
第一部分 基础环境
1、平台规划
单master集群多master集群
2、配置要求
master:2C 4G 20Gnode:4C 8G 40G
3、集群部署方式
kubeadm方式 二进制包方式
第二部分 系统初始化
1、关闭服务
systemctl disable --now firewalldsystemctl disable --now postfixsystemctl disable --now NetworkManager
2、关闭swap
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
3、关闭SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4、配置主机名
hostnamectl set-hostname k8s-master-01hostnamectl set-hostname k8s-node-01
5、配置host
# 仅master节点cat >>/etc/hosts< 4、将桥接的IPv4流量传递到iptables的链 cat < 5、时钟同步 yum -y install chronysystemctl enable --now chronyd && chronyc sources 6、安装yum源 curl -o /etc/yum.repos.d/CentOS-Base.repo -y install epel-release# 建立缓存 7、安装基础工具 yum -y install lrzsz tree unzip openssl-devel pcre-devel rsync wget tree lsof telnet zip net-tools bind-utils vim git nc psmisc jq 8、配置资源限制 echo -e 'ulimit -c unlimited' >> /etc/profileecho -e 'ulimit -s unlimited' >> /etc/profileecho -e 'ulimit -SHn 65535' >> /etc/profileecho -e 'export HISTTIMEFORMAT="%F %T `whoami` "' >>/etc/profile# echo -e 'export TMOUT=300' >>/etc/profile# echo -e "HISTFILESIZE=100" >>/etc/profilesource /etc/profilecat >>/etc/security/limits.conf < 9、内核参数优化 cat < 10、更新系统 yum -y update --exclude=kernel*reboot 第三部分 集群安装 1、安装Docker # 卸载旧版本yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine# 安装yum源yum -y install yum-utilsyum-config-manager \ --add-repo \ 安装dockeryum list docker-ce --showduplicates |sort -ryum -y install docker-ce-19.03.* docker-ce-cli-19.03.* containerd.io# 配置dockermkdir -pv /data/docker /etc/dockercat < 2、安装kubeadm、kubelet和kubectl # 安装yum源cat < 3、安装IPVS模块 # 安装ipvsyum -y install conntrack ipvsadm ipset libseccomp sysstat# 配置ipvs模块(本机内核版本:3.10.0-1160.el7.x86_64)# 在内核4.19+版本nf_conntrack_ipv4已经更改为nf_conntrack;在4.19以下使用nf_conntrack_ipv4modprobe -- ip_vsmodprobe -- ip_vs_rrmodprobe -- ip_vs_wrrmodprobe -- ip_vs_shmodprobe -- nf_conntrack_ipv4cat < 4、部署Master # 创建目录mkdir -pv /data/kubernetescd /data/kubernetes# 下载镜像kubeadm config images listkubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers# 打印初始化配置kubeadm config print init-defaults > kubeadm-config.yaml---kubeadm-config.yamlapiVersion: kubeadm.k8s.io/v1beta2bootstrapTokens:- groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authenticationkind: InitConfigurationlocalAPIEndpoint: advertiseAddress: 192.168.94.138 bindPort: 6443nodeRegistration: criSocket: /var/run/dockershim.sock name: k8s-master-01 taints: - effect: NoSchedule key: node-role.kubernetes.io/master---apiServer: timeoutForControlPlane: 4m0sapiVersion: kubeadm.k8s.io/v1beta2certificatesDir: /etc/kubernetes/pkiclusterName: kubernetescontrollerManager: {}dns: type: CoreDNSetcd: local: dataDir: /var/lib/etcdimageRepository: registry.aliyuncs.com/google_containerskind: ClusterConfigurationkubernetesVersion: v1.18.0networking: dnsDomain: cluster.local serviceSubnet: 10.96.0.0/12 podSubnet: 10.244.0.0/16scheduler: {}---apiVersion: kubeproxy.config.k8s.io/v1alpha1kind: KubeProxyConfigurationkind: KubeProxyConfigurationfeatureGates: SupportIPVSProxyMode: truemode: ipvskubeadm init --config=kubeadm-config.yaml --upload-certs |tee kubeadm-init.log# 配置kubectl工具mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config 5、加入node节点 kubeadm join 192.168.94.138:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:4b2e7c50a1a3f9725093c0af9fbb8c5f4995a0ce5cbce03d628716ae5c0e4293# 主节点执行kubectl get node 6、部署网络组件 cd /etc/kuberneteskubectl apply -f apply -f kube-flannel.yml# 注意:如果您使用自定义podCIDR(不是10.244.0.0/16),您首先需要下载上述清单并修改网络以匹配您的。 7、集群状态验证 # 启动集systemctl enable --now kubelet# 验证集群状态kubectl get pod -A# 创建podkubectl create deployment nginx --image=nginxkubectl expose deploy nginx --port=80 --type=NodePortkubectl get pod,svc访问:# 30210 通过查看映射到本机的端口获得# 查看代理模式curl localhost:10249/proxyModekubectl get cm kube-proxy -n kube-system -o yaml |grep mode 第四部分 高可用集群部署 1、待实现
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~