这篇文章主要介绍了centos中如何安装kubernetes,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了万秀免费建站欢迎大家使用!
centos7内核版本过低,有些kubernetes组件对内核要求高(如rook-ceph),所以推介ubuntu20.04 https://my.oschina.net/u/160697/blog/4416873
参考 https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
环境 centos7以上
使用阿里源:
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=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
# 更新系统 yum update -y # 禁止防火墙 systemctl stop firewalld systemctl disable firewalld # 将 SELinux 设置为 permissive 模式(相当于将其禁用) setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes #安装指定版本 #yum install -y kubelet-1.20.5-0 kubeadm-1.20.5-0 kubectl-1.20.5-0 --disableexcludes=kubernetes systemctl enable --now kubelet
一些 RHEL/CentOS 7 的用户曾经遇到过问题:由于 iptables 被绕过而导致流量无法正确路由的问题。您应该确保 在 sysctl
配置中的 net.bridge.bridge-nf-call-iptables
被设置为 1。
cat </etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOFsysctl --system
安装docker-ce https://docs.docker.com/install/linux/docker-ce/centos/
# 若您安装过docker,需要先删掉,之后再安装依赖: sudo yum remove docker docker-common docker-selinux docker-engine sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3: 更新并安装Docker-CE sudo yum makecache fast sudo yum -y install docker-ce # Step 4: 开启Docker服务 systemctl enable docker systemctl start docker
容器运行时 https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/
cat > /etc/docker/daemon.json < # 重启 Docker systemctl daemon-reload systemctl restart docker初始化(kubernetes-version版本号需修改为yum安装对应的版本)
kubeadm init \ --apiserver-advertise-address=192.168.1.10 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.18.3 \ --pod-network-cidr=10.244.0.0/16有问题。可重置
kubeadm reset && systemctl restart kubelet rm /etc/kubernetes/ -fR rm $HOME/.kube -fR rm /var/lib/etcd -fR rm /etc/cni/net.d -fR没有问题的话。有以下成功标志:
Your Kubernetes control-plane has initialized successfully! To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config You should now deploy a pod network to the cluster. Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: https://kubernetes.io/docs/concepts/cluster-administration/addons/ Then you can join any number of worker nodes by running the following on each as root: kubeadm join 192.168.1.10:6443 --token zj9sed.nsv0mr8ym228qpq6 \ --discovery-token-ca-cert-hash sha256:df276fa7c8551cb914deeb3a73c9705a5f77081c092e2dbd47c29a06a50f6ce8说明1,执行以下操作,已经写得很清楚了。
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config测试环境使用单机集群,可以使用如下命令,让 master 上也可以有 pod
kubectl taint nodes --all node-role.kubernetes.io/master-说明2,你需要安装一个网络(You should now deploy a pod network to the cluster.) 我选择flannel, 简单好用。 参考此页面 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml测试是否安装成功,看READY是不是1/1, 状态是否为Running
kubectl get pods -A生成不过期的token
# 拷贝输出结果,在work节点执行 kubeadm token create --ttl 0 --print-join-command在另外一节点。安装k8s, docker, 执行除了kubeadm init的脚本。并执行以下,加入到集群中
关闭swap
swapoff -a sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab说明3. 安装node节点
kubeadm join 192.168.1.10:6443 --token zj9sed.nsv0mr8ym228qpq6 \ --discovery-token-ca-cert-hash sha256:df276fa7c8551cb914deeb3a73c9705a5f77081c092e2dbd47c29a06a50f6ce8说明4. 如在slave节点要使用kubectl。需要在子节点上执行
mkdir -p $HOME/.kube/ #192.168.1.10为master节点,根据实际情况替换自己的节点 scp root@192.168.1.10:/etc/kubernetes/admin.conf $HOME/.kube/config查看节点状态
#master上执行 kubectl get node感谢你能够认真阅读完这篇文章,希望小编分享的“centos中如何安装kubernetes”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
分享标题:centos中如何安装kubernetes
标题网址:http://cdxtjz.com/article/jejosc.html