Kubernetes安装和试用
文章目录
- 前言
- 一、准备工作
- 1.VMware的安装
- 2.安装操作系统
- 二、kubernetes单机版安装和使用
- 1. 环境准备
- 2. 部署docker
- 3. 安装 kubeadm、kubelet 和 kubectl
- 4. 部署Kubernetes Master
- 5. 加入Kubernetes Node
- 6. 测试
- 三、总结
前言
Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统。
为什么需要 Kubernetes ?
真实的生产环境应用会包含多个容器,而这些容器还很可能会跨越多个服务器主机部署。Kubernetes 提供了为那些工作负载大规模部署容器的编排与管理能力。Kubernetes 编排让你能够构建多容器的应用服务,在集群上调度或伸缩这些容器,以及管理它们随时间变化的健康状态。
提示:以下是本篇文章正文内容
一、准备工作
系统:CentOS7
虚拟机:目前常见的虚拟机软件分别是 VMware 和 Virtualbox ,我使用的是VMWare,可以去官网进行下载,也可以找别人的压缩包进行下载。
下面我将简单介绍以下VMware的安装过程
1.VMware的安装
首先我们进入到官网(https://www.vmware.com/)
点击workspace,找到products右下角的Workstation Pro,打开,根据自己的系统选择版本,pro是需要购买的,不过我们可以选择试用30天
点击下载即可,接下来是安装,根据指引完成操作即可(一直点下一步,需要更改安装路径的自己更改即可),安装完成后打开,应该是这样一个界面
验证是否安装成功
打开设置–>网络和Internet–>高级网络设置–>更改适配器选项
看见下面左侧两个设备就说明虚拟机安装成功
2.安装操作系统
选择安装CentOS7,我照样是进入官网进行下载,也可以下载别人的压缩包。
官网下载地址:https://www.centos.org/download/
根据自己的电脑选择合适的文件进行下载,我选择是x86_64,也就是64位。点击RPMs(一种用于互联网下载包的打包及安装工具),进入如下界面,点击isos,选择一个镜像地址下载
在这里插入图片描述
接下来就是简单的VMware安装centos,过程比较简单,可以参考:
https://blog.csdn.net/tsundere_x/article/details/104263100
二、kubernetes单机版安装和使用
1. 环境准备
主机名 | IP | 角色 |
---|---|---|
docker-k8s01 | 192.168.10.130 | master |
docker-k8s02 | 192.168.10.131 | node01 |
docker-k8s03 | 192.168.10.132 | node02 |
查看当前IP,保证 Linux 系统 ifcfg-ens33 文件中 IP 地址、虚拟网络编辑器地址和Windows 系统 VM8 网络 IP 地址相同
#ifconfig
执行如下命令:
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld# 关闭selinux
vim /etc/selinux/config
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久# 关闭swap
swapoff -a # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久# 根据规划设置主机名
hostnamectl set-hostname <hostname># 在master添加hosts
cat >> /etc/hosts << EOF
192.168.10.130 k8smaster
192.168.10.131 k8snode1
192.168.10.132 k8snode2
EOF# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system # 生效# 时间同步
yum install ntpdate -y
ntpdate time.windows.com
2. 部署docker
1.切换镜像源
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
2.安装特定版本的docker-ce
$ yum -y install docker-ce-18.06.1.ce-3.el7
3.配置文件
$ cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
4.启动docker
$ systemctl enable docker && systemctl start docker
5.查看docker版本
$ docker --version
18.06.1-ce
安装截图
3. 安装 kubeadm、kubelet 和 kubectl
添加阿里云镜像源
输入指令:cat > /etc/yum.repos.d/kubernetes.repo << EOF
继续下一步,把下面的代码贴上去
[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 install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0systemctl enable kubelet
安装效果如下图所示:
4. 部署Kubernetes Master
在192.168.10.130(也就是我们的Master上)执行
$ kubeadm init \--apiserver-advertise-address=192.168.10.130 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.18.0 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16
5. 加入Kubernetes Node
在192.168.10.131 和192.168.10.132(Node01和Node02)执行下面的语句
kubeadm join 192.168.10.130:6443 --token 4or4z4.fcqslk46vnnz6soc \--discovery-token-ca-cert-hash sha256:124f37009d5d2a2524f8607d86c73b33f468e6dfdbbc33f871ff9dc587552552 #这串代码是在上一步部署master成功后显示的,可以自行查看
这边截图显示 This node has joined the cluster ,表面加入成功
kubectl get nodes #查看结点
如果这边的状态是Not Ready,需要安装相关插件
方式1
wget https://raw.githubusercontect.com/coreos/flannel/master/Documentation/kube-flannel.yml
方式2
如果镜像地址访问不了,可以去csdn上找别人上传的kube-flannel.yml文件,我选用的这个方式,有兴趣的可以关注这篇文章> https://blog.csdn.net/weixin_43298522/article/details/109769013#使用配置文件启动flannel
kubectl apply -f kube-flannel.yml
那么到目前为止,集群已经搭建成功。
6. 测试
在集群中创建一个pod,验证是否正常运行:
$ kubectl create deployment nginx --image=nginx #部署nginx
$ kubectl expose deployment nginx --port=80 --type=NodePort #暴露端口
$ kubectl get pod,svc #查看服务状态
运行结果如下:
这里的ip是指服务器的ip,port是指docker分配给nginx的端口
通过http://192.168.10.130:30747/查看,可以发现测试成功。
三、总结
在k8s的配置和使用过程中,我还是遇到了不少的问题,也是通过上网查询一一进行解决。主要问题如下:
1. raw.githubusercontent.com无法访问,
解决办法1:可以sed命令修改为docker hub镜像仓库
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
解决办法2:去网上找别人的kube-flannel文件,上文已经给出链接2.默认token有效期为24小时,当过期之后,该token就不可用了
解决办法:kubeadm token create --print-join-command3.在节点配置过程中如果出现错误,无法进行,可以进行重置操作
Kubernetes安装和试用相关推荐
- Proovread安装与试用
proovread安装与试用 2018.12.04 19:52:21字数 204阅读 118 [TOC] 安装环境 Ubuntu18.10 Perl 5.10.1 or later Log::Log4 ...
- Kubernetes安装之证书验证
前言 昨晚(Apr 9,2017)金山软件的opsnull发布了一个开源项目和我一步步部署kubernetes集群,下文是结合我之前部署kubernetes的过程打造的kubernetes环境和ops ...
- kubernetes安装_kubernetes安装教程之三:安装kubeadm
kubernetes安装教程之三:安装kubeadm 准备安装包和镜像 安装可以使用VPN下载 ````bash yum --downloadonly --downloaddir=/opt/rpm k ...
- MAC OS X Yosemite安装与试用
MAC OS X Yosemite安装与试用 北京时间2014年6月3日凌晨,苹果公司在美国旧金山Moscone中心召开2014年度全球开发者大会(WWDC 2014),发布了新一代Mac操作系统OS ...
- Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验
作为Rancher 2.0的重要组件,Rancher Kubernetes Engine(RKE)现已正式全面发布!这是Rancher Labs推出的新的开源项目,一个极致简单易用.闪电般快速.支持一 ...
- kuboard使用mysql_Kuboard Kubernetes安装
一.简介 Kubernetes 容器编排已越来越被大家关注,然而使用 Kubernetes 的门槛却依然很高,主要体现在这几个方面: 集群的安装复杂,出错概率大 Kubernetes相较于容器化,引入 ...
- VS2005-此计算机上已安装了试用版。必须先卸载以前安装的试用版后才能安装另一个试用版
VS2005-此计算机上已安装了试用版.必须先卸载以前安装的试用版后才能安装另一个试用版 以前安装过vs 2005后来安了2008,2005删了,现在项目需要2005,再准备安上,安的时候提示&quo ...
- VS2005-此计算机下已安装了试用版,必须先卸载以前安装的试用版后才能安装另一个试用版
VS2005-此计算机下已安装了试用版,必须先卸载以前安装的试用版后才能安装另一个试用版 VS2005-此计算机上已安装了试用版,必须先卸载以前安装的试用版后才能安装另一个试用版. VS2005-此计 ...
- Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验 1
2019独角兽企业重金招聘Python工程师标准>>> 作为Rancher 2.0的重要组件,Rancher Kubernetes Engine(RKE)现已正式全面发布!这是Ran ...
最新文章
- python读取excelsheet-python实现读取excel文件中所有sheet操作示例
- 中关村创业大街上的“野心”青年:在这里不用拼爹
- java查找链表中间元素_如何通过Java单次查找链表的中间元素
- 程序人家:你的老板逼你上微服务了吗??
- sublime text plugins
- python获取本机ip地址_python3 获取本机ip地址
- VIM教程与学习资料汇总(转载自善用佳软)
- SQL server 2005下载地址
- 贝塞尔曲线及实践案例
- div实现antd Descriptions描述列表(可灵活修改、固定宽度)
- 利用OneDNS同步chrome数据
- 软件工程--团队答辩
- 在股东协议中,如何设定关于股权转让的相关规定,如股东优先购买权、股权出售限制、股权转让审批流程等?
- linux mysql stop 报错_mysql linux上安装使用
- shell in find exclude
- MFC实现基本图形绘制、变换、自由曲线绘制、图形裁剪和填充
- docker安装redis无法启动: The container name “/ly-redis“ is already in use by container
- ziperello 资源分享
- 建筑平面图, 建筑设计图, 家具摆放图, 制作, 开发, 软件, VC++源代码组件库2018!
- Deep Residual Learning for Image Recognition (ResNet)
热门文章
- linux 系统中判别固态硬盘(SSD)和机械硬盘(HDD)
- linux运行彩虹猫,在 Linux 命令行中观看彩虹猫来稍事休息
- 计算机地质绘图实验报告,计算机地质绘图实习报告作业二.doc
- Assertion t = 0 t n classes failed
- 华秋DFM新功能全网上线,助力PCBA可焊性分析
- java数据库重要吗_我个人感觉数据库这方面对于程序员来说很重要,无论是对于JAVA程序员还是DOTNET程序员以及其他编程人员来说都是必须掌握的。为了帮助大家更好的来回顾T-SQL...
- SQL Server 2012 官方培训课程体系
- msck repair error
- StarRocks3.0介绍
- 15、基于STM32的温湿度超限报警器