K8S 单机部署
2022/7/14 23:21:37
本文主要是介绍K8S 单机部署,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
系统初始化
1、关闭selinux
setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
2、关闭默认防火墙
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服务将无法启动
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 docke
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基础服务及工具
yum -y install kubelet-1.13* kubeadm-1.13* kubectl-1.13* systemctl start kubelet systemctl enable kubelet.service
10、下载k8s相关镜像并打标签
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和网络
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配置
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')
13、默认k8s的master节点是不能跑pod的业务,需要执行以下命令解除限制
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 的状态
kubectl get pods --all-namespaces -o wide
这篇关于K8S 单机部署的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在Kubernetes (k8s) 中搭建三台 Nginx 服务器怎么实现?-icode9专业技术文章分享
- 2024-11-05基于Kubernetes的自定义AWS云平台搭建指南
- 2024-11-05基于Kubernetes Gateway API的现代流量管理方案
- 2024-11-05在Kubernetes上部署你的第一个应用:Nginx服务器
- 2024-11-05利用拓扑感知路由控制Kubernetes中的流量
- 2024-11-05Kubernetes中的层次命名空间:更灵活的资源管理方案
- 2024-11-055分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!
- 2024-10-30K8s 容器的定向调度与亲和性
- 2024-10-28云原生周刊:K8s未来三大发展方向 丨2024.10.28
- 2024-10-25亚马逊弹性Kubernetes服务(EKS)实战:轻松搭建Kubernetes平台