系统初始化
1、关闭selinux
1 | setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config |
2、关闭默认防火墙
1 | systemctl stop firewalld && systemctl disable firewalld |
3、设置hostname
hostnamectl --static set-hostname master echo master > /etc/hosts cat >> /etc/hosts << OG 192.168.228.131 master OG
4、修改内核参数和模块
cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF #使内核参数配置生效 sysctl --system && modprobe br_netfilter && lsmod | grep br_netfilter
5、关闭交换内存,如果不关闭,kubelet服务将无法启动
1 | swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab |
6、安装docker 、建议改成国内的源,速度比较快
yum -y install yum-utils device-mapper-persistent-data lvm2 yum-config-manager -y --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum -y install docker-ce-18.06.3.ce-3.el7 docker-ce-cli-18.06.3.ce-3.el7 containerd.io systemctl start docker && systemctl enable docker
7、设置国内docker仓库
cat <<EOF > /etc/docker/daemon.json { "registry-mirrors": [ "https://3laho3y3.mirror.aliyuncs.com" ] } EOF systemctl restart docker
8、配置kubernetes yum源,用以安装Kubernetes基础服务及工具,此处使用阿里云镜像仓库源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [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 yum makecache fast #建立元数据缓存
9、安装Kubernetes基础服务及工具
1 2 3 | yum -y install kubelet-1.13* kubeadm-1.13* kubectl-1.13* systemctl start kubelet systemctl enable kubelet.service |
10、下载k8s相关镜像并打标签
1 2 3 4 5 6 | for i in `kubeadm config images list`; do imageName=${i#k8s.gcr.io/} docker pull registry.aliyuncs.com/google_containers/$imageName docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName docker rmi registry.aliyuncs.com/google_containers/$imageName done; |
11、初始化k8s和网络
1 2 3 4 5 | kubeadm init --kubernetes-version=v1.13.12 --pod-network-cidr=10.100.0.0/16 --ignore-preflight-errors=all #安装成功标志 #Your Kubernetes master has initialized successfully! #开机启动 && 启动服务 systemctl enable kubelet && systemctl start kubelet |
12、初始化kubectl配置
1 2 3 4 | mkdir -p /root/.kube sudo cp -i /etc/kubernetes/admin.conf /root/.kube/config sudo chown $(id -u):$(id -g) /root/.kube/config kubectl apply -f https: //cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n') |
13、默认k8s的master节点是不能跑pod的业务,需要执行以下命令解除限制
1 2 3 4 5 6 7 8 | kubectl taint nodes --all node-role.kubernetes.io/master- #如果需要设置不允许调度 #kubectl taint nodes master1 node-role.kubernetes.io/master=:NoSchedule #污点可选参数 NoSchedule: 一定不能被调度 PreferNoSchedule: 尽量不要调度 NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod |
14、查看主节点运行 Pod 的状态
1 | kubectl get pods --all-namespaces -o wide |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具