ubuntu18 安装单机k8s v1.18.2
背景
当我们需要对k8s进行二次开发时,k8s环境是必须的,那么在ubuntu上部署单机k8s是最方便的,便于开发调试
系统准备
本人用的是Ubuntu18,以下以此为例
部署之前,最好切换至root用户,方便操作
sfeng@sfeng-virtual-machine:~$ sudo passwd root
Enter new UNIX password: // 输入root密码
Retype new UNIX password: // 重复输入
passwd: password updated successfully
sfeng@sfeng-virtual-machine:~$ su - root
Password: // 输入root密码
系统初始化
sudo ufw disable // 关闭防火墙
sudo systemctl disable ufw // 永久关闭防火墙
sudo swapoff -a // 关闭swap
sed -ri 's/.*swap.*/#&/' /etc/fstab // 永久关闭swap
ubuntu系统默认没有安装selinux
// 更换国内镜像源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
sed -i 's@http://cn.mirrors.ustc.edu.cn/ubuntu/@https://mirrors.tuna.tsinghua.edu.cn/ubuntu/@g' /etc/apt/sources.list
apt update
添加k8s安装秘钥
sudo apt update && sudo apt install -y apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
安装docker
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
docker run hello-world // 验证docker是否安装完成
配置k8s源
sudo touch /etc/apt/sources.list.d/kubernetes.list
这里选择阿里云的源
sudo echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >> /etc/apt/sources.list.d/kubernetes.list
安装kubelet,kubeadm,kubectl
sudo apt-get update
// 这里带上版本号,防止后续部署报错版本不一致问题
sudo apt install -y kubelet=1.18.2-00
sudo apt install -y kubeadm=1.18.2-00
sudo apt install -y kubectl=1.18.2-00
// 保持版本取消自动更新,这里也可以省略
sudo apt-mark hold kubelet kubeadm kubectl
kubeadm 初始化
sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.2 --pod-network-cidr=10.240.0.0/16
等待出现以下信息,则说明初始化成功
// ...
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 机器IP:6443 --token q1guce.z76o2a2bb65vhd0u \\
--discovery-token-ca-cert-hash sha256:2a57a27853c66d608bc544742b57602a21d47c3d09fe58eef15258946d4341c0
配置非 root 的操作
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
coredns 问题解决
这时候node 状态还是NotReady,因为网络插件还没有安装,这里安装calico
kubectl apply -f <https://docs.projectcalico.org/v3.10/manifests/calico.yaml>
安装成功后结果如下
root@sfeng-virtual-machine:~# kubectl get node
NAME STATUS ROLES AGE VERSION
sfeng-virtual-machine Ready master 28m v1.18.2
root@sfeng-virtual-machine:~# kubectl get pods --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system calico-kube-controllers-57546b46d6-hfgx2 1/1 Running 0 23m 192.168.109.129 sfeng-virtual-machine <none> <none>
kube-system calico-node-kpx4p 1/1 Running 0 23m 192.168.57.23 sfeng-virtual-machine <none> <none>
kube-system coredns-7ff77c879f-gjgjb 1/1 Running 0 28m 192.168.109.130 sfeng-virtual-machine <none> <none>
kube-system coredns-7ff77c879f-qq6pz 1/1 Running 0 28m 192.168.109.131 sfeng-virtual-machine <none> <none>
kube-system etcd-sfeng-virtual-machine 1/1 Running 0 28m 192.168.57.23 sfeng-virtual-machine <none> <none>
kube-system kube-apiserver-sfeng-virtual-machine 1/1 Running 0 28m 192.168.57.23 sfeng-virtual-machine <none> <none>
kube-system kube-controller-manager-sfeng-virtual-machine 1/1 Running 0 28m 192.168.57.23 sfeng-virtual-machine <none> <none>
kube-system kube-proxy-jzfts 1/1 Running 0 28m 192.168.57.23 sfeng-virtual-machine <none> <none>
kube-system kube-scheduler-sfeng-virtual-machine 1/1 Running 0 28m 192.168.57.23 sfeng-virtual-machine <none> <none>
去掉master污点
// 这样master就能作为计算节点了哈,不然部署单机也没有意义
kubectl taint nodes --all node-role.kubernetes.io/master-
ubuntu18 安装单机k8s v1.18.2的更多相关文章
- Centos7安装Kubernetes k8s v1.16.0 国内环境
一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...
- k8s v1.18.2 centos7 下环境搭建
准备 服务器:3台机器--1台主.2台工作节点,可以使用virtualbox 搭建虚拟机 主机名 centos version ip docker version flannel version 主机 ...
- centos7安装kubernetes k8s 1.18
可以参考其他网友的阿里云搭建k8s高可用集群(1.17.3) https://www.cnblogs.com/gmmy/p/12372805.html 准备四台centos7虚拟机,用来安装k8s集群 ...
- 在Ubuntu上使用离线方式快速安装K8S v1.11.1
在Ubuntu上使用离线方式快速安装K8S v1.11.1 0.安装包文件下载 https://pan.baidu.com/s/1nmC94Uh-lIl0slLFeA1-qw v1.11.1 文件大小 ...
- 【K8S】K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本)
[K8S]K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本) 写在前面 K8S集群部署成功了,如何对集群进行可视化管理呢?别着急,接下来,我们一 ...
- 使用kubeadm部署k8s集群[v1.18.0]
使用kubeadm部署k8s集群 环境 IP地址 主机名 节点 10.0.0.63 k8s-master1 master1 10.0.0.63 k8s-master2 master2 10.0.0.6 ...
- 【k8s学习笔记】使用 kubeadm 部署 v1.18.5 版本 Kubernetes集群
说明 本文系搭建kubernetes v1.18.5 集群笔记,使用三台虚拟机作为 CentOS 测试机,安装kubeadm.kubelet.kubectl均使用yum安装,网络组件选用的是 flan ...
- Kubernetes入门(一)——Kubernetes v1.18.5 安装部署
Kubernetes的安装有两种方式:一是使用各个厂商封装的Kubernetes发行版,优点是可以一键安装部署,操作简单,缺点也很明显,若安装过程中某一步骤出现问题,很难定位处理:二是使用官方提供的k ...
- 二进制安装k8s v1.25.4 IPv4/IPv6双栈
二进制安装k8s v1.25.4 IPv4/IPv6双栈 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes( ...
- ansible-kubeadm在线安装k8s v1.19-v1.20版本
ansible-kubeadm在线安装k8s v1.19-v1.20版本 1. ansible-kubeadm在线安装k8s v1.19-v1.20版本 安装要求 确保所有节点系统时间一致 操作系统要 ...
随机推荐
- Fiddler一些用法学习记录
最近项目中用Fiddler较多,只会之前掌握的一些最简单的用法显得有点不太够.记录一下学习到的新用法. 一.需要mock.打开AutoResponder,Add Rule,填上需要mock的网址,需要 ...
- 分库分表ShardingJDBC最佳实践
1 添加依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId> ...
- tModLoader随机掉落模组编写
pre { overflow-y: auto; max-height: 400px } img { max-width: 500px; max-height: 300px } 1. 整体思路 目标是实 ...
- 【Vue原理模拟】模拟Vue实现响应式数据
1. 预期效果 当数据变动时,触发自定义的回调函数. 2. 思路 对对象 object 的 setter 进行设置,使 setter 在赋值之后执行回调函数 callback(). 3.细节 3.1 ...
- [INS-40996] Installer has detected that the Oracle home (/home/grid) is not empty in the following nodes: [rac2] --求助帖?
问题描述:12c安装grid的时候,一直再报一个[INS-40996] Installer has detected that the Oracle home (/home/grid) is not ...
- visio秘钥
一.Visio2016专业版永久激活码: Visio 2016 Professional Retail零售版 [Key]:NKVJM-8MTT4-8YDFR-6738M-DPFJH [Key]:W9W ...
- 论文解读( FGSM)《Adversarial training methods for semi-supervised text classification》
论文信息 论文标题:Adversarial training methods for semi-supervised text classification论文作者:Taekyung Kim论文来源: ...
- ABPvNext-微服务框架基础入门
ABPvNext-微服务框架基础入门 本文使用的是ABPvNext商业版 最新稳定版本7.0.2为演示基础的,后续如果更新,会单独写一篇最新版本的,此文为零基础入门教程,后续相关代码会同步更新到git ...
- Xxl-job安装部署以及SpringBoot集成Xxl-job使用
1.安装Xxl-job: 可以使用docker拉取镜像部署和源码编译两种方式,这里选择源码编译安装. 代码拉取地址: https://github.com/xuxueli/xxl-job/tree/2 ...
- Spring配置数据库连接
<beans xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="ht ...