Ubuntu 18.04 环境下 kubernetes v1.16.2 单机部署说明

一、安装环境

  本次部署使用阿里云ECS

  操作系统: Ubuntu  18.04 64位

  实例规格: ecs.c6.large 2U4G

二、kubernetes 版本

  k8s.gcr.io/kube-apiserver:v1.16.2

  k8s.gcr.io/kube-controller-manager:v1.16.2

  k8s.gcr.io/kube-scheduler:v1.16.2

  k8s.gcr.io/kube-proxy:v1.16.2

  k8s.gcr.io/pause:3.1

  k8s.gcr.io/etcd:3.3.15-0

  k8s.gcr.io/coredns:1.6.2

三、shell

# 添加镜像源
cat <<EOF >/etc/apt/sources.list.d/docker-k8s.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable
EOF

# 更新并安装
apt update && apt install -y docker-ce kubelet kubeadm kubectl

# 关闭 swapswapoff -a

vim /etc/fstab# 注释掉这一行# /swapfile                                 none            swap    sw              0       0

设置阿里云镜像加速

  进入阿里云;=》容器镜像服务=》镜像中心 =》 镜像加速器

  页面会提供配置文档;当前只给出主要代码,如果没有阿里云账号,此步骤可以忽略;

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF‘
{
  "registry-mirrors": ["https://{阿里云分配的地址前缀}.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装镜像包

这里需要注意:kubernetes 镜像包是放在 google 容器托管平台,国内下载会出现超时等情况

vi k8s-image-pull.sh

# 1、将对应的包从国内镜像上拉下来 # 2、在tag成脚本中需要的image名称# 3、移除多余的imagefor i in `kubeadm config images list`; do  imageName=${i#k8s.gcr.io/}  docker pull registry.aliyuncs.com/google_containers/$imageName  docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName  docker rmi registry.aliyuncs.com/google_containers/$imageNamedone;

初始化

# kubeadm初始化
kubeadm init --pod-network-cidr=10.244.0.0/16 -–apiserver-advertise-address=0.0.0.0 --ignore-preflight-errors=NumCPU

# --apiserver-bind-port API server 将绑定的端口。默认为 6443。# --apiserver-advertise-address 这是 API server 用来告知集群中其它成员的地址,这也是在 init 流程的时候用来构建 kubeadm join 命令行的地址。                                如果不设置(或者设置为 0.0.0.0)那么将使用默认接口的 IP 地址。该地址也被添加到 API Server 使用的证书中。# --ignore-preflight-errors=NumCPU 如果只有一个 cpu 请加参数
# kubeadm init 输出的 token 用于 master 和加入节点间的身份认证,token 是机密的,需要保证它的安全,因为拥有此标记的人都可以随意向集群中添加节点。

# 设置网络插件 export KUBECONFIG=/etc/kubernetes/admin.conf kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
安装 kubernetes-dashboard 
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml

# 在需要做外网映射的情况下,我们使用nodeport方式访问,此段也可以忽略vi recommended.yaml

# spec:下边添加 type: NodePort# targetPort 下边添加 nodePort: 30001

下载kubernetes-dashboard 镜像

# 拉取 kubernetes-dashboard 镜像, 注意版本, 可在 kubernetes-dashboard.yaml 文件中查看
docker pull kubernetesui/dashboard:v2.0.0-beta5

# 官方Kubernetes仪表板映像已从k8s.gcr.io注册表移至kubernetesui/dashboard。# 我们仍将尝试从提供图像k8s.gcr.io,但是要推送这些图像,需要Google员工的帮助。# 目前只有从 v2.0.0-beta1 以及以后的版本

# 安装 kubernetes-dashboard kubectl create -f kubernetes-dashboard.yaml 

# 查看安装结果 
kubectl get pod --namespace=kubernetes-dashboard

kubectl get pod --namespace=kube-system
# 从 v2.0.0-beta1 以及以后的版本,已将仪表板从kube-system移至kubernetes-dashboard名称空间

# 查看端口 kubectl get svc --namespace=kube-system或者kubectl get svc --namespace=kubernetes-dashboard
查看账号 
kubectl get sa --all-namespaces
cat <<EOF > admins.yamlapiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: admins
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admins
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admins
  namespace: kubernetes-dashboard
EOF

# 创建用户kubectl create -f admins.yaml

获取用户token

kubectl describe serviceaccount admins -n kubernetes-dashboard

获取token

kubectl describe secret admins-token-r5thw -n kubernetes-dashboard

copy token

然后访问外网地址

https://外网ip:30001

选择token 贴入 copy的token信息

作者:zhangwenjian
出处:http://www.cnblogs.com/zhangwenjian

转移:http://www.cnblogs.com/zhangwenjian

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/zhangwenjian/p/11719005.html

时间: 2024-10-10 19:00:20

Ubuntu 18.04 环境下 kubernetes v1.16.2 单机部署说明的相关文章

Linux(Ubuntu 13.04)环境下 Eclipse perl插件EPIC的安装

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14     这几天要学习perl,打算用eclipse这个IDE,那么装一个perl的插件是很有必要; 网上搜了下,安装EPIC大家提到最多的就是输入http://e-p-i-c.sf.net/updates/testing,但是我遇到的情况是一直在pending,令人抓狂: 后来参照Pydev的插件安装方法,试了下,成功了,下面就是我的步骤 我的系统:Ubuntu13.04 安装步骤: 1:到这里下载插件:http://pan.

Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置

本人手头电脑是Win10 Home版全新安装的系统,由于不想在新系统盘里面安装TexLive导致固态硬盘不断扩大,所以,考虑安装Ubuntu做为WSL,然后把TexLive安装在Ubuntu,并通过VS Code调用Ubuntu命令来写Latex的方法来写一些论文.在此,提供一个思路给大家借鉴. Windows 10安装WSL2和Ubuntu 18.04 这个过程其实直接参照微软的标准过程就可以了,大致步骤总结如下: 去控制面板开启Virtual Machine Platform和Windows

Ubuntu 18.04.1 下快速搭建 LNMP环境(PHP7.2.5+MySql5.7+Nginx1.14.0)

在Linux环境下,搭建LNMP环境,大家以前或多或少都做过相关的操作,但是随着软件的更新,PHP,MySQL不断的升级,以往很多比较老的教程,都已经无法完成这个搭建环境的任务了,今天偶然有兴趣在最新的Ubuntu18.04上搭建LNMP环境,本来感觉挺容易的,但是在实际操作过程中,遇到一个个坑,真是让人哭笑不得,所以写这篇心得,主要是分享在搭建过程中遇到的一些问题进行了整合,来给后入进行排雷. 首先展示搭建成功后的页面 PHP安装成功 MySQL安装成功 来,现在我们开始进行搭建 1.Ngin

ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?

一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://launchpadlibrarian.net/386450337/anbox-modules-dkms_13_all.deb sudo dpkg -i anbox-modules-dkms sudo modprobe ashmem_linux sudo modprobe binder_linux 四.

Ubuntu 18.04 手动编译安装 ffmpeg

ffmpeg 是一个由提供对视频.音频和其他多媒体流文件进行处理功能的库和程序构成的自由软件项目,其常被用于适用于不同格式的音频和视频的录影.转换和流处理等场合.这里记录在 Ubuntu 18.04 平台下安装 ffmpeg 的过程.( 注:ffmpeg 目前已经可以通过 apt 直接进行安装,见最后 ) 安装过程 a.在 ffmpeg 官网上下载对应的安装压缩包,笔者使用的是 ffmpeg-4.1.tar.bz2 ,将其解压至用户主目录下. tar -xvjf ffmpeg-4.1.tar.b

Ubuntu 18.04 实验环境配置

Ubuntu 18.04 实验环境配置 系统:Ubuntu 18.04 64bit 显卡:Nvidia GeForce 1080Ti 下载 CUDA.cuDNN.NVIDIA间存在某种关系,建议先确定要安装的CUDA版本. 注意:后续要安装的一些包不支持CUDA9.1. CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-archiv

备忘 ubuntu 18.04 下安装 tensorflow GPU 版本

转自:https://www.cnblogs.com/hutao722/p/9342577.html tensorflow目前已经升级至r1.9版本.在之前的深度学习中,我是在MAC的虚拟机上跑CPU版本的tensorflow程序,当数据量变大后,tensorflow跑的非常慢,在内存不足情况下,又容易造成系统崩溃(虚拟机走的是windows7). 配置信息 为了后续的深度学习,不得已,我在京东买了一部组装厂商提供的主机,是网吧特供机.配置如下: CPU i5 8400 6核 16G内存 GPU

Ubuntu 18.04 下 emscripten SDK 的安装

Ubuntu 18.04 下 emscripten SDK 的安装 http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html#installation-instructions 需要环境 清华安装源 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu $ sudo apt update $ sudo apt install vim openssh-serv

Ubuntu 18.04.1 搭建Java环境和HelloWorld

一.搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择相应的版本,点击jdk,进入下载页面,选择"Linux x64"版本的后缀为"xxx.tar.gz"的Liunx压缩包. 2.解压JDK压缩包 在下载中找到压缩包,双击文件,把目录中的文件拖拽到"/