kubeadm安装k8s测试环境
目标是搭建一个可测试的k8s环境,使用的工具 kubeadm, 最终一个master节点(非高可用),2个node节点。
环境以及版本
- Centos7.3
- kubeadm 1.11.1
- kubelet 1.11.1
- kubectl 1.11.1
- docker-ce-18.06
说明 kubeadm默认的etcd是本地的,所以这里使用的是本地 etcd,而不是kubeadm中的
name | ip | role |
---|---|---|
master1 | 10.0.12.13 | master |
node1 | 10.0.12.10 | node |
node2 | 10.0.12.8 | node |
基础环境
三台主机都需要安装的有docker, kubeadm, kubelet 都是采用 yum 来安装,需要关闭swap,以及防火墙,禁用SELinux。
禁用 SELinux
sudo setenforce 0
- 1
关闭swap
sudo swapoff -a
vim /etc/fstab #swap一行注释掉
- 1
- 2
安装 docker
sudo yum install -y docker
- 1
设置开机启动和启动服务
sudo systemctl enable docker
sudo systemctl start docker
看下docker的版本, 至少高于 1.12
版本
sudo docker version
安装 Kubernetes 包
配置 yum 源,并安装 kubeadm, kubectl, and kubelet
添加 k8s 源
sudo bash -c 'cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF'
如果无法访问google,那么采用国内源
sudo cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
安装 k8s 需要的组件
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet
- 1
- 2
kubeadm v1.11 之前需要先启动 sudo systemctl start kubelet
服务,但是我在安装v1.11 发现并不需要先启动 kubelet服务,后面的 kubeadm init
汇总会自动启动
k8s 网络需要使用 网络转发,所以需要设置
sudo bash -c 'cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1 EOF'
应用设置
sudo sysctl --system
- 1
关闭防火墙
只是为了方面,不是可选,测试环境方面
sudo systemctl disable firewalld
sudo systemctl stop firewalld
sudo systemctl status firewalld
Master 操作
由于采用外部 etcd,所以要在 master 节点安装 etcd服务,这里也是etcd是单节点
安装etcd
不管是etcd 集群还是单机,或者是 http, https都可以,只要在 kubeadm 中配置好就行。 这部分先略过,大家可以找下 etcd的安装手册。
实验中是单机 etcd,然后监听地址为 https://10.0.12.13:2379
kubeadm
kubeadm配置 kubeadm.yaml
(新建,任意目录下)
---
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
kubernetesVersion:www.baohuayule.net v1.11.1 apiServerCertSANs: - 10.0.12.13 networking: serviceSubnet: 10.96.0.0/12 podSubnet: 10.244.0.0/16 api: advertiseAddress: 10.0.12.13 etcd: endpoints: - https://10.0.12.13:2379 caFile: www.chaoyueyule.com /etc/etcd/ssl/etcd-ca.pem certFile: www.feifanyule.cn /etc/etcd/ssl/etcd.pem keyFile: www.thd178.com /etc/etcd/ssl/etcd-key.pem
kubeadm的参考文档地址 可以根据需要自己更改
kubeadm 安装 k8s
下面是 kubeadm 表演的时间了
sudo kubeadm init --config kubeadm.yaml# 所有阶段会打印出来
....
Your Kubernetes master 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/ You can now join any number of machines by running the following on each node as root: kubeadm join 10.0.12.13:6443 --token 4b3m3i.hrzetk4qb5uh74e4 --discovery-token-ca-cert-hash sha256:357b0fec02af903e66022019cea82ff3a95264479cb5d222ea8e938df2db3d20
给出一些下面要做的步骤,配置 kubectl
, 配置网络组件,以及 worker node 加入的命令。
下面就是跟着提示配置 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 get nodes
NAME STATUS ROLES AGE VERSION
master1 NotReady master 5m v1.11.
可以看到 status 为 NotReady
, 因为网络组件还没有配置, 下面配置 flannel。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.ym
再来看状态
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-78fcdf6894-4744c 1/1 Running 0 5m kube-system coredns-78fcdf6894-jbvhd 1/1 Running 0 5m kube-system kube-apiserver-master1 1/1 Running 0 5m kube-system kube-controller-manager-master1 1/1 Running 0 5m kube-system kube-flannel-ds-amd64-kp7cr 1/1 Running 0 11s kube-system kube-proxy-6778v 1/1 Running 0 5m kube-system kube-scheduler-master1 1/1 Running 0 5m $ kubectl get nodes NAME STATUS ROLES AGE VERSION master1 Ready master 6m v1.11.1 ]$ kubectl get cs NAME STATUS MESSAGE ERROR scheduler Healthy ok controller-manager Healthy ok etcd-0 Healthy {"health": "true"}
master 节点的配置基本完成了。
Node 配置
就是执行之前 init 最后打出的那个命令
sudo kubeadm join 10.0.12.13:6443 --token 4b3m3i.hrzetk4qb5uh74e4 --discovery-token-ca-cert-hash sha256:357b0fec02af903e66022019cea82ff3a95264479cb5d222ea8e938df2db3d20
2个node操作完之后,再来 master 节点看看
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master1 Ready master 7m v1.11.1
node1 Ready <none> 18s v1.11.1 node2 Ready <none> 10s v1.11.1
用一个简单pod测试下
kubectl run -i --tty busybox --image=busybox --restart=Never -- sh # 正常执行,再看看调度情况 $ kubectl get pod --show-all -o wide NAME READY STATUS RESTARTS AGE IP NODE busybox 0/1 Completed 0 48s 10.244.1.2 node1
其他
查看 kubeadm 的配置
sudo kubeadm config view
转载于:https://www.cnblogs.com/qwangxiao/p/9397983.html
kubeadm安装k8s测试环境相关推荐
- (亲测无坑)Centos7.x使用kubeadm安装K8s集群1.15.0版本
基础环境配置 三台Centos7.x的服务器,主节点 cpu >=2,node节点>=1 注:(上述cpu为最低配置,否则集群安装部署会报错,无法启动,对其他硬件无硬性要求) 以下操作若无 ...
- 使用Rancher搭建K8S测试环境
环境准备(4台主机,Ubuntu16.04+Docker1.12.6 + SSH): rancher1 192.168.3.160 只做管理节点 node1 192.168.3.16 ...
- 用Kubeadm安装K8s后,kube-flannel-ds一直CrashLoopBackOff
2019独角兽企业重金招聘Python工程师标准>>> 如果使用Kubeadm安装K8s集群,在安装flannel网络插件后,发现pod: kube-flannel-ds 一直是Cr ...
- 【k8s系列】vmware中ubuntu22.04使用kubeadm安装k8s集群(1.24.4 or higher)(cka考试环境搭建)
文章目录 部署环境准备 环境修改 修改hostname(各修改各的) 修改hosts文件(master 和所有node ) 禁用swap(master 和所有node) 修改内核参数(master 和 ...
- 使用kubeadm安装k8s集群的完整步骤(k8sv15.1)
一.创建虚拟机 首先使用vmware15 pro创建了4台centos7虚拟机,其中,3台用来组建k8s集群,1台为master节点,2台为node节点, 剩下的一台用来安装harbor配置私有仓库( ...
- centos7下使用kubeadm安装k8s
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具.这个工具能通过两条指令完成一个kubernetes集群的部署. 在开始之前,部署Kubernetes集群机器需要满足以下几 ...
- kubeadm安装K8S单master双节点集群
宿主机: master:172.16.40.97 node1:172.16.40.98 node2:172.16.40.99 # 一.k8s初始化环境:(三台宿主机) 关闭防火墙和selinux sy ...
- 使用kubeadm安装k8s集群故障处理三则
最近在作安装k8s集群,测试了几种方法,最终觉得用kubeadm应该最规范. 限于公司特别的网络情况,其安装比网上不能访问google的情况还要艰难. 慢慢积累经验吧. 今天遇到的三则故障记下来作参考 ...
- kubeadm安装k8s 1.23.5
文章目录 一. 环境准备 1.1 配置yum阿里源 1.2 关闭防火墙 1.3 关闭selinux 1.4 关闭swap 1.5 调整内核参数及模块 1.6 开启ipvs 1.7 同步服务器时间 1. ...
- 使用kubeadm安装k8s
1.系统yum源配置 centos下载地址:推荐大家使用centos7.6以上版本. http://mirrors.aliyun.com/centos/7/isos/x86_64/ 查看centos系 ...
最新文章
- python映射类型-详解Python中映射类型(字典)操作符的概念和使用
- c++ 大数类 大数模板
- 高效研发运维体系构建的流程和方法论
- ios 通过kvc修改属性会触发kvo_iOS开发-KVC和KVO的理解
- iOS,Core Graphics
- halcon 深度学习标注_深度学习in Halcon流程
- VS2010中打开项目中的Winform界面报“This method explicitly users CAS policy,which has been obsoleted by the ...”
- AngularJS - $uibModal - 自定义模态框大小
- 计算机应用技术要学java吗,计算机应用技术专业主要学什么
- 计算机思维在化学上的应用,【科学思维】化隐性为显性思想在化学中的应用
- 总算了解了什么叫云计算
- 体验一个人自驾游思考人生
- 2020杭电计算机考研经验帖
- ActionScript快速对照表
- 前后端开发的心得体会_前后端对接的思考及总结
- postman的使用
- 4.16 使用可选颜色命令调整图像色彩 [原创Ps教程]
- Tensorflow安装过程的一些问题及解决办法
- Auto.js实例找色
- 记录:matlab 转C++和Opencv,用到的函数
热门文章
- 50年过去了,嫦娥五号探月依然不能直播,告诉你三个可能
- apt不询问直接安装
- 质子和中子数量的一点疑问
- 管理感悟:如何处理不干活的主管
- day01_启动程序装载器 IPL
- 乐高创意机器人moc_乐高MOC佳作欣赏丨机械之美机器人乐高作品集15
- python中存储坐标_利用python进行坐标提取以及筛选(文件操作的小应用)
- 电脑键盘灯怎么打开_电脑开机后黑屏键盘灯也不亮,教你一招搞定 建议收藏...
- 公众号openid能做用户识别_四川养老公众号开发哪里能做
- 74ls161中rco是什么_催化燃烧RCO设备多少钱?为什么价格差别如此之大?