kubernetes单节点安装
docker kubernetes centos
1.docker安装:
# yum install -y yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install -y docker-ce-20.10.7-3.el7 docker-ce-cli-20.10.7-3.el7.x86_64 containerd.io-1.4.9-3.1.el7
启动和设置开机自启:
# systemctl start docker && systemctl enable docker
配置docker的cgroup驱动为systemd
# vim /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}# systemctl restart docker
2.kubernetes准备
1. 配置服务器主机名
# hostnamectl set-hostname worker01 && bash
2. 配置主机hosts文件
# vim /etc/hosts
添加如下内容:
192.168.123.120 worker01
3. 关闭交换分区swap,提升性能
临时关闭:
# swapoff -a
永久关闭,注释swap挂载:
# sed -i 's/.*swap*./#&/' /etc/fstab
4. 修改内核参数
# modprobe br_netfilter
验证是否成功:
# lsmod | grep br_netfilter
br_netfilter 22256 0
bridge 151336 2 br_netfilter,ebtable_broute# 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
EOF
# sysctl -p /etc/sysctl.d/k8s.conf
5. 关闭fIrewalld防火墙
# systemctl stop firewalld && systemctl disable firewalld
6. 关闭selinux
临时关闭:
# setenforce 0
永久关闭:
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
7. 配置yum源
配置epel源:
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
配置kubernetes源:
# 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
EOF
8. 配置时间同步
# yum install -y ntpdate
#同步网络时间
# ntpdate cn.pool.ntp.org
配置计划任务同步时间
# crontab -e
* */4 * * * /usr/sbin/ntpdate cn.pool.ntp.org# systemctl restart crond
9. 开启ipvs
# cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
ipvs_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_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>&1
if [ 0 -eq 0 ]; then
/sbin/modprobe \${kernel_module}
fi
done
EOF
# chmod 755 /etc/sysconfig/modules/ipvs.modules
# bash /etc/sysconfig/modules/ipvs.modules
# lsmod | grep ip_vs
ipvs是什么?
ipvs(IP Virtual Server)实现了传输层负载均衡,也就是4层LAN交换,作为linux内核的一部分。ipvs可以将基于TCP和UDP的服务请求转发到真实服务器上,并使真实服务器的服务在单个IP地址上显示为虚拟服务。
ipvs和iptables模式之间有哪些差异:
1.ipvs为大型集群提供了更好的可扩展性和性能
2.ipvs支持比iptables更复杂的复制均衡算法(最小负载、最少连接、加权等)
3.ipvs支持服务器健康检查和连接重试等功能。
3.kubernetes安装:
1. k8s初始化软件包:
# yum -y install kubelet-1.21.2 kubeadm-1.21.2 kubectl-1.21.2
# systemctl enable kubelet
注:
kubeadm:是一个工具,用来初始化kubernetes集群。
kubelet:安装在集群所以节点上,用于启动pod。
kubectl:通过kubectl可以部署和管理应用,查看各种资源、创建、删除和更新各 种组件。
2. kubeadm初始化k8s集群:
# kubeadm init --config kubeadm-config.yaml
# mkdir -p $HOME/.kube
# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# chown $(id -u):$(id -g) $HOME/.kube/config
# kubectl get node
NAME STATUS ROLES AGE VERSION
worker01 NotReady control-plane,master 9m4s v1.21.2让节点可以运行pod:
# kubectl taint nodes worker01(节点名称) node-role.kubernetes.io/master-
# cat kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.21.2
controlPlaneEndpoint: 192.168.123.120:6443
imageRepository: registry.aliyuncs.com/google_containers
apiServer:
certSANs:
- 192.168.123.120
networking:
podSubnet: 172.16.0.0/16
serviceSubnet: 172.10.0.0/16
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
4.网络插件安装:
采用开源的网络方案:kube-ovn,它是基于OVN的kubernetes网络组件,提供了大量目前kubernetes,不具备的网络功能,方便后续kubevirt虚拟机网络操作。
kube-ovn安装:
1.下载安装脚本:
# wget https://raw.githubusercontent.com/kubeovn/kube-ovn/release-1.9/dist/images/install.sh
2.编辑install.sh根据自己实际情况修改:
REGISTRY="kubeovn" # 镜像仓库地址 VERSION="v1.9.1" # 镜像版本/Tag POD_CIDR="10.16.0.0/16" # 默认子网 CIDR 不要和 SVC/NODE/JOIN CIDR 重叠 SVC_CIDR="10.96.0.0/12" # 需要和 apiserver 的 service-cluster-ip-range 保持一致 JOIN_CIDR="100.64.0.0/16" # Pod 和主机通信网络 CIDR,不要和 SVC/NODE/ CIDR 重叠 LABEL="node-role.kubernetes.io/master" # 部署 OVN DB 节点的标签 IFACE="" # 容器网络所使用的的宿主机网卡名,如果为空则使用 Kubernetes 中的 Node IP 所在网卡 TUNNEL_TYPE="geneve" # 隧道封装协议,可选 geneve 或 vxlan3.执行安装脚本:
# chmod +x install.sh
# bash install.sh
4.查看:
5.参考网址:
更多推荐
所有评论(0)