k8s安装部署步骤_30分钟无坑部署K8S单Master集群
Jesse导读:11月9号,我在中国.NET开发者峰会(.NET Conf China 2019)上分享了之前ASP.NET Core和Kubernetes做微服务的经验,在10号的时候又联合张善友、陈计节两位大佬一起做了一个6个小时的动手实践,得到了非常好的反馈。学习K8S需要首先拥有一个K8S的操作环境,由于它的复杂性以及不可描述的原因导致这很多同学直接被卡在了这里。redz(人称小红)是我们团队中的成员之一,这篇文章是他在自己用VMWare虚拟机上搭了3台虚拟机并且在这3台虚拟机上搭建K8S 1.16版本的过程 。
相关环境
CentOS 7.6 (2-3台)
K8s 1.16.2
Docker 18.09.3
需要自己准备2-3台虚拟机来安装CentOS7.6系统,在开始之前先修改主机名称(主机名称不能重复-如果重复即使work节点加入成功,master看不到work节点)
hostnamevi /etc/hostname
在vi中编辑hostname之后输入:wq保存,之后重启系统即可。
关闭防火墙
systemctl stop firewalldsystemctl disable firewalld
禁用swap
swapoff -a
修改
etc/fstab
在行首加 #,注释
/dev/mapper/centos-swap swap
安装Docker
k8s支持的Docker版本
sudo yum install -y yum-utils device-mapper-persistent-data lvm2sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.iosystemctl start docker.servicesystemctl enable docker.service
添加K8s 国内镜像源
cat>>/etc/yum.repos.d/kubrenetes.repo<[kubernetes]name=Kubernetes Repobaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/gpgcheck=0gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpgEOF
安装K8s所需要的3个组件
yum install -y kubeadm kubelet kubectl
设置k8s开机自启动
systemctl enable kubelet.service
K8s集群
创建K8s集群 Master Node
在master节点上执行以下命令
kubeadm init --image-repository registry.aliyuncs.com/google_containers \ --pod-network-cidr=10.244.0.0/16 \ --ignore-preflight-errors=cri \ --kubernetes-version=1.16.2
输出以下信息表示,K8s与Docker版本不一致
[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.4. Latest validated version: 18.09
输出以下信息表示,swap没有被禁用
[ERROR Swap]: running with swap on is not supported. Please disable swap
输出以下信息表示,请执行echo
'1' > /proc/sys/net/bridge/bridge-nf-call-iptables
[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
安装成功后, 会显示如下的信息 按步执行即可
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
Init Network Flannel 初始化网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
由于某种不可抗力 请先下载yml至本机后执行
kubectl apply -f kube-flannel.yml
加入K8s集群 Slave Node
对于从节点 执行步骤至
安装K8s
无需init
在master节点上执行, 获取join-token
kubeadm token create --print-join-commandkubeadm join 192.168.69.128:6443 --token uc826o.l9na62a2ckmf5rjo --discovery-token-ca-cert-hash sha256:2be9656d7b4c3e9aab2b1259b0eea948f0b0b05d082267aa5676967cc495c168
从节点执行join-token
K8s集群相关命令
集群获取节点
kubectl get nodes
集群删除节点
kubectl delete node
被删除的节点重新加入集群 先执行
kubeadm reset
K8s UI kubernetes-dashboard
部署yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
此部署文档镜像来源于docker hub
假设部署文档由于众所周知的原因不可访问 请先通过技术手段获取文档后执行
部署命令
kubectl apply -f recommended.yaml
使用
NodePort
方式暴露30065端口 用于非k8s节点中访问 修改yaml以下内容 重新执行部署命令
kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: type: NodePort ports: - port: 443 targetPort: 8443 nodePort: 30065 selector: k8s-app: kubernetes-dashboard
NodePort
方式默认端口范围30000-32767获取kubernetes-dashboard
访问token
kubectl -n kube-system describe $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token
在firefox中访问该网址 https://[k8s节点]:30065选择token登录并输入访问token
kubernetes-dashboard要求使用HTTPS Chrome不能访问此类没有认证的web,可以使用firefox进入访问
本机添加kubectl
在windows安装 kubectl
1:choco install kubernetes-cli
2:在master 主机上进入/etc/kubernetes/admin.conf 把admin.conf 下载下来,拷贝到本机当前用户的 .kube\config里面 如果当前用户下没有.kube 使用powershell 建立一个文件夹和config里面
ASP.NET Core微服务 on K8S
k8s安装部署步骤_30分钟无坑部署K8S单Master集群相关推荐
- Kubeadm 在线快速部署 1.23 单master集群 【实验用】
飞机票 1. 前置知识点 1.1 准备环境 1.2 操作系统初始化配置[所有节点] 2. 安装Docker/kubeadm/kubelet[所有节点] 2.1 安装Docker 2.2 添加阿里云YU ...
- kubernetes单Master集群部署--Node节点部署组件(6)
1.kubelet组件授权 Master apiserver启用TLS认证后,Node节点kubelet组件想要加入集群,必须使用CA签发的有效证书才能与apiserver通信,当Node节点很多时, ...
- 30分钟无坑部署K8S单Master集群
Jesse导读:11月9号,我在中国.NET开发者峰会(.NET Conf China 2019)上分享了之前ASP.NET Core和Kubernetes做微服务的经验,在10号的时候又联合张善友. ...
- K8S搭建单Master集群(二进制部署方式)
一. 安装要求 (1)多台服务器,操作系统 CentOS7.6-86_x64 (2)硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘40GB或更多 (3)可以访问外网,需要拉取镜像,如果服务 ...
- 二进制搭建kubernetes多master集群【三、配置k8s master及高可用】
前面两篇文章已经配置好了etcd和flannel的网络,现在开始配置k8s master集群. etcd集群配置参考:二进制搭建kubernetes多master集群[一.使用TLS证书搭建etcd集 ...
- 2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南
2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南
- 边缘使用 K8s 门槛太高?OpenYurt 这个功能帮你快速搭建集群!
OpenYurt 作为阿里巴巴首个开源的边缘云原生项目,涉及到边缘计算和云原生两个领域.然而,许多边缘计算的开发者并不熟悉云原生相关的知识.为了降低 OpenYurt 的使用门槛,帮助更多地开发者快速 ...
- kubernetes-1.11.0集群部署之master集群 (二)
kubernetes-1.11.0集群部署之master集群 (二) Master master 的组件有以下: 1. API ServerApi server提供HTTP/HTTPS RESTful ...
- Cloudera Manager安装之利用parcels方式安装单节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(四)...
前期博客 Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式.rpm方式和yum方式) 说在前面的话(看清楚就好!!!) 我这篇博客,是两种方式都 ...
最新文章
- 教育技术研究生必读书目(转载)
- 联想618首战告捷,是战略潜力的释放还是最后的“狂欢”?
- SpringBoot maxConnections、maxThreads、acceptCount解析
- php在线考试系统详细步骤
- STM3库文件 hal_uart.c的使用
- 2022,微博稳了吗?
- 系统架构师论文-论新技术的引进
- PPT嵌入视频,添加控件按钮控制视频播放
- matlab计算天线方向性系数,天线方向图(Antenna Pattern)的设计解析思路
- leet198.打家劫舍
- 获取各大电商平台,item_get_app - 获得淘宝app商品详情原数据API返回数据说明
- Android基础——Android系统概览
- 使用webmagic模拟post表单提交爬取易查分成绩
- not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
- 微积分知识补充——兼怀102
- 多功能在线起名取名查重工具微信小程序源码 可开流量主 带安装教程
- 如何流畅远程登录另一台电脑(尽可能流畅的远程桌面连接设置)
- 【合肥信息技术职业学院】《PHP网站开发》作业设计
- 用手机看epub电子书用什么阅读软件好?
- 《Adobe Flash CS6中文版经典教程》——1.2 了解工作区