本地搭建3节点kubernetes
kubernetes本地搭建版本选择
- CentOS Linux release 7.7.1908
- kubernetesVersion: v1.17.0
- weave-kube:2.6.0
- ceph/ceph:v14.2.6
CentOS 环境准备
3台机器环境检查
master内存至少4GiB
禁用swap分区 master
sudo swapoff -a
- 永久禁用
sudo vi /etc/fstab
把/dev/mapper/centos-swap swap这行注释掉
- sysctl 配置
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF
sysctl --system
- key免密
参见网络其他文章
- hostname
hostnamectl set-hostname xx
- hostname及ip映射
cat >> /etc/hosts <<EOF
172.16.225.129 k8s-02
172.16.225.130 k8s-03
172.16.225.200 k8s-01
EOF
yum源及安装
- 配置kubernetes yum源
# k8s yum源
cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
enable=1
EOF
>>
- 配置docker yum源
cd /etc/yum.repos.d
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum repolist
- 安装docker, kubeadm, kubelet and kubectl
yum install -y docker-ce kubeadm kubelet kubectl
- 检查docker及kubelet
systemctl enable --now docker && systemctl enable --now kubelet
- 检查日志
systemctl status kubelet
journalctl -xeu kubelet
kubernetes环境搭建
安装k8s master
安装master,法一:
查询列表
kubeadm config images list
安装master,法二:
- 生成kubaeadm.yaml
kubeadm config print init-defaults > kubeadm.yaml
- 使用kubeadm.yaml 文件(1.15.X版本)
cat <<EOF > kubeadm.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
nodeRegistration: # 去掉master污点
taints:
- effect: PreferNoSchedule
key: node-role.kubernetes.io/master
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
imageRepository: registry.aliyuncs.com/google_containers # images地址
kubernetesVersion: v1.17.0 # version
EOF
- 初始化集群
kubeadm init --config kubeadm.yaml | tee kubeadmin.log
- 再次创建tocken(选)
token expired
kubeadm token create --print-join-command
return a token
kubeadm join 172.17.55.202:6443 --token 4xv6eq.5kygve4g6uy1smat \ --discovery-token-ca-cert-hash sha256:3ab287132d40f511925d0e416a6a0bd1fba47697c447b6c05f421b12029b8766
To start using your cluster, you need to run the following as a regular user:
- 卸载方法 (选)
kubeadm reset
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
rm -rf $HOME/.kube/config
systemctl stop docker
systemctl stop kubelet
yum remove kubelet
iptables -tnat --flush # iptables 一定要刷新
- 调整master服务器环境
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
初始化网络插件
- weave:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
启动worker节点
系统设置
配置k8s,docker yum源
下载docker kubelet kubeadm
通过tocken加入集群。 注意tocken的有效期为24小时
补充其他插件
添加dashboard
修改nodePort
kubectl patch svc -n kube-system kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}'
- 创建dashboard管理用户
kubectl create serviceaccount dashboard-admin -n kube-system
- 绑定用户为集群管理用户
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
- 获取tocken
kubectl describe secret -n kube-system dashboard-admin
添加存储
- rook: https://github.com/rook/rook/blob/master/Documentation/ceph-quickstart.md#deploy-the-rook-operator
查看安装
kubectl get pods -n rook-ceph-system
kubectl get pods -n rook-ceph
搭建过程中问题
# coredns readiness 一直unhealthy
coredns dial tcp 10.96.0.1:443: connect: no route to host
# 问题
iptables混乱导致
# 解决办法
systemctl stop kubelet
systemctl stop docker
iptables --flush
iptables -tnat --flush
systemctl start kubelet
systemctl start docker
kubectl delete pod weave -n kube-system
本地搭建3节点kubernetes的更多相关文章
- Kubernetes 概述和搭建(多节点)
一.Kubernetes整体概述和架构 Kubernetes是什么 Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务.通过Kubernetes能够进行应用的自动化部署和扩缩 ...
- 使用Minikube运行一个本地单节点Kubernetes集群(阿里云)
使用Minikube运行一个本地单节点Kubernetes集群中使用谷歌官方镜像由于某些原因导致镜像拉取失败以及很多人并没有代理无法开展相关实验. 因此本文使用阿里云提供的修改版Minikube创建一 ...
- 爬虫管理平台以及wordpress本地搭建
爬虫管理平台以及wordpress本地搭建 学习目标: 各爬虫管理平台了解 scrapydweb gerapy crawlab 各爬虫管理平台的本地搭建 Windows下的wordpress搭建 爬虫 ...
- 简单三分钟,本地搭建 k8s
使用 minikube 在本地搭建 k8s 已经比以前要简单很多了.本文,我们通过简短的三分钟来重现一下在本地搭建 k8s 实验环境的步骤. Newbe.Claptrap 是一个用于轻松应对并发问题的 ...
- 超快速使用docker在本地搭建hadoop分布式集群
超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...
- 使用Docker在本地搭建Hadoop分布式集群
学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...
- Hadoop生态圈-zookeeper本地搭建以及常用命令介绍
Hadoop生态圈-zookeeper本地搭建以及常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载zookeeper软件 下载地址:https://www.ap ...
- centos搭建单节点hadoop
由于本地机器资源有限,搭建单节点hadoop供开发.测试. 1.安装java mkdir /usr/local/java cd /usr/local/java tar zxvf jdk-8u181-l ...
- 基于Docker快速搭建多节点Hadoop集群--已验证
Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中.这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤.作者在发现目前的Hadoop ...
随机推荐
- maven爬坑
版本问题 maven源的问题 找不到的jar包 http://www.cnblogs.com/geektown/p/5705405.html http://blog.csdn.net/beyondlp ...
- 开源DDD设计模式框架YMNNetCoreFrameWork第6篇-.net Core Logging和Nlog结合
源码地址:https://github.com/topgunymn/YMNNetCoreFrameWork 遇到的坑:使用了Nlog以后,.NETcore自带的日志等级不起作用,只有nlog配置配置文 ...
- Pycharm连接Mysql失败. [08001] Could not create connection to database server.
使用Pycharm连接MySQL时遇到如下问题,错误代码[08001] 查了很多资料归纳一下可能是如下几个原因 0.mysql.server没开 找到对应系统下的mysql.server 启动/重启命 ...
- 140-PHP类的抽象方法和继承
<?php abstract class father{ //定义一个抽象类 abstract public function test(); //定义抽象方法 } class son exte ...
- 了解C#
了解C C#能编写那些程序 Windows桌面应用程序 桌面应用有自己独立的进程与操作系统进行消息通讯,操作系统对事件进行检测,传递给桌面应用进程,桌面应用进程对这些消息进行解释,处理后,把处理结果u ...
- Django中出现no such table: django_session
这个错误跟Session的机制有关, 既然要从Web服务器端来记录用户信息, 那么一定要有存放用户session id对应信息的地方才行. 所以,我们需要创建django_session表. Djan ...
- jupiter的@TempDir 等不生效
jupiter与junit是 完全独立的测试组件,要严防在测试中将二者混用.最好在依赖引入jupiter 时 就将junit的依赖干掉,以防在写测试用例时将二者混用.不会报错,但是会导致 jupite ...
- ES query does not support [auto_generate_synonyms_phrase_query]
测试环境使用 elasticsearch-rest-high-level-client 做为基础包发起es调用出现如下异常: {"error":{"root_caus ...
- 本地登录ftp的时候报530错误
root@instance-iyi104bj:~# ftp localhost Connected to localhost. (vsFTPd ) Name (localhost:root): roo ...
- 实验吧web-中-简单的sql注入
页面显示:到底过滤了什么东西? 所以我们先试试到底是过滤了什么 1 显示正常 1' 不正常 (直接输入的关键字均会被过滤) 1 union select 显示:1 select 1 union sel ...