kubeadm 安装 kubernetes 1.4.6

2023-11-15

kubeadm 安装 kubernetes 1.4.6

  • 准备
  • 安装docker
  • 下载镜像
  • 安装kubernetes
  • 安装kubernetes-dashbord

准备

机器名 ip
centos7-kubermaster 192.168.10.130
centos7-kuber146node1 192.168.10.131
centos7-kuber146node2 192.168.10.132

master 和node的修改hosts 文件

192.168.10.130 centos7-kubermaster
192.168.10.131 centos7-kuber146node1
192.168.10.132 centos7-kuber146node2

或者

hostnamectl --static set-hostname <hostname>

安装DOCKER

详细安装方法参照官网文档
传送门docker安

下载镜像

因为伟大GWF的原因,要想直接安装成功是不可能的。因为gcr.io/google_containers 下的镜像不可访问。
于是这里要借助github + docker hub的方式来解决镜像问题。通过github 编写dockerfile,然后通过docker hub 的自动构建任务来获取gcr.io/google_containers中的镜像,然后本地在从docker hub 下载镜像。
首先要有一个github 的repo,可以直接从我准备好的repo fork 传送门

然后进入docker hub

1 创建自动构建工程
创建自动build工程


2 选择github 方式
这里写图片描述


3 选中自己的github repo
这里写图片描述


4 设置build setting
这里写图片描述


5 点击trigger build 项目,查看build结果
这里写图片描述

6 本地拉去镜像

docker pull yudar1024/docker-library:etcd-amd64-2.2.5

7 将本地yudar1024/docker-library:etcd-amd64-2.2.5 镜像 打成google的镜像

docker tag yudar1024/docker-library:etcd-amd64-2.2.5 gcr.io/google_containers/etcd-amd64:2.2.5

docker rmi yudar1024/docker-library:etcd-amd64-2.2.5

安装kubernetes

安装kubelet(所有节点,包括master 和node)

# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://yum.kubernetes.io/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
# setenforce 0
yum install -y kubelet kubeadm kubectl kubernetes-cni
systemctl enable kubelet && systemctl start kubelet

安装master

kubeadm init --api-advertise-addresses=192.168.10.130 --use-kubernetes-version v1.4.6

记录token

kubeadm join --token=2f16a0.0daacdab5df146df 192.168.10.130

安装node,在所有node 执行

kubeadm join --token=2f16a0.0daacdab5df146df 192.168.10.130

查看集群状态

[root@centos7-kubermaster ~]# kubectl get nodes
NAME                    STATUS    AGE
centos7-kuber146node1   Ready     2h
centos7-kuber146node2   Ready     2h
centos7-kubermaster     Ready     2h

安装pod network ( add-on)

下载weave yaml 文件

curl -O  https://git.io/weave-kube

打开刚刚下载的weave-daemonset.yaml,找到image元素,可以看到需要如下两个镜像
image: weaveworks/weave-kube:1.8.1
weaveworks/weave-npc:1.8.1

安装网络
docker pull weaveworks/weave-kube:1.8.1
docker pull weaveworks/weave-npc:1.8.1
kubectl apply -f https://git.io/weave-kube


查看结果 
[root@centos7-kubermaster ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                          READY     STATUS    RESTARTS   AGE
kube-system   dummy-2088944543-0v299                        1/1       Running   0          2h
kube-system   etcd-centos7-kubermaster                      1/1       Running   0          2h
kube-system   kube-apiserver-centos7-kubermaster            1/1       Running   0          2h
kube-system   kube-controller-manager-centos7-kubermaster   1/1       Running   0          2h
kube-system   kube-discovery-1150918428-eclmt               1/1       Running   0          2h
kube-system   kube-dns-654381707-l2pu6                      3/3       Running   0          2h
kube-system   kube-proxy-5wyav                              1/1       Running   0          2h
kube-system   kube-proxy-dwjbj                              1/1       Running   0          2h
kube-system   kube-proxy-igp1e                              1/1       Running   0          2h
kube-system   kube-scheduler-centos7-kubermaster            1/1       Running   0          2h
kube-system   kubernetes-dashboard-3109394916-msusa         1/1       Running   0          2h
kube-system   weave-net-7yj7g                               2/2       Running   0          2h
kube-system   weave-net-cdf66                               2/2       Running   0          2h
kube-system   weave-net-wgx8g                               2/2       Running   0          2h
 ### 推送配置到集群
 # 备份master节点的 配置文件

 /etc/kubernetes/admin.conf

 #保存至 其他电脑, 通过执行配置文件控制集群

 kubectl --kubeconfig ./admin.conf get nodes

安装dashbord

#下载 yaml 文件, 直接导入会去官方拉取images

curl -O https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml


#编辑 yaml 文件

vi kubernetes-dashboard.yaml
#grc 的镜像都需要预先通过 dockerhub 中转拉取
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.0

修改为

image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.2


imagePullPolicy: Always

修改为

imagePullPolicy: IfNotPresent

#执行如下命令
kubectl create -f ./kubernetes-dashboard.yaml

# 查看 NodePort ,既外网访问端口

kubectl describe svc kubernetes-dashboard --namespace=kube-system

Port:           <unset> 80/TCP
NodePort:       <unset> 30451/TCP

浏览器访问 http://192.168.10.130:30451
完成

原创文章,转载请保留出处

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kubeadm 安装 kubernetes 1.4.6 的相关文章

  • 如何使用 VS Code 编辑 kubernetes pod 容器中的代码?

    通常 如果我有远程服务器 我可以使用 ssh 访问它 并且 VS Code 提供了一个漂亮的扩展 用于编辑和调试远程服务器的代码 但是当我在 Kuberneters 中创建 pod 时 我无法真正通过 ssh 进入容器 因此我无法编辑 po
  • Pod 副本如何相互同步 - Kubernetes?

    我有一个带有 3 个副本的 MySQL 数据库 Pod 现在我正在一个 Pod 中进行一些更改 Pod 数据 而不是 Pod 配置 假设我要添加一张表 该更改将如何影响 Pod 的其他副本 我正在使用带有 3 个工作节点的 kubernet
  • Kubernetes:用 Calico 替代 Flannel

    我是 Kubernetes 新手 我想尝试不同的 CNI 在我当前的集群中 我正在使用 Flannel 现在 我想使用 Calico 但我找不到清理 Flannel 和安装 Calico 的正确指南 您能指出正确的程序吗 Thanks Ca
  • Kubernetes:是否可以在 Kubernetes 集群中通过单个请求访问多个 Pod

    我想清除 Kubernetes 命名空间中所有 Pod 中的缓存 我想向端点发送一个请求 然后该端点将向命名空间中的所有 Pod 发送 HTTP 调用以清除缓存 目前 我只能使用 Kubernetes 命中一个 pod 并且无法控制哪个 p
  • 在 systemd 服务文件内/内联添加 shell 命令

    我正在运行gunicorn通过 systemd 将服务器作为服务 这是示例service file Unit Description Gunicorn NGINX After network target Service User root
  • Kubernetes:无法创建存储库

    我正在跟进Kubernetes 入门指南 http kubernetes io docs hellonode 一切都很顺利 直到我跑步 gcloud docker push gcr io
  • Kubernetes 中的暂停镜像有什么用?

    看来在 Windows 上 Kubernetes 启动了一个pause创建的每个 Pod 的图像 这个暂停图像的目的是什么 我在哪里可以找到更多有关它的文档 The pause容器是保存 Pod 网络命名空间的容器 Kubernetes 创
  • 通过 nginx 入口控制器进行基本身份验证

    我正在使用 nginx 入口控制器 https kubernetes github io ingress nginx deploy https kubernetes github io ingress nginx deploy 在 AWS
  • 在 Kubernetes 中向 MySQL 添加另一个用户

    这是我的MySQL apiVersion apps v1beta1 kind Deployment metadata name abc def my mysql namespace abc sk test labels project ab
  • 将代码/文件直接注入 Google Cloud Engine 上的 Kubernetes 容器中

    如何将代码 文件直接注入 Google Cloud Engine 上的 Kubernetes 容器中 类似于使用 Docker 挂载主机文件 目录的方式 例如 docker run d name nginx p 443 443 v ngin
  • Bash:更新文件中的变量

    我知道这是一个简单的答案 在找到答案之前我可能可以继续在谷歌上进行挖掘 但我的日程很紧 我希望能得到一个轻松的答复 我需要在安装时更新 ifcfg eth0 中的变量 换句话说 这就是需要发生的事情 以下变量需要更改 ONBOOT no B
  • Kubernetes Pod 已终止 - 退出代码 137

    我需要一些关于 k8s 1 14 和在其上运行 gitlab 管道所面临的问题的建议 许多作业都会抛出退出代码 137 错误 我发现这意味着容器突然终止 集群信息 库伯内特版本 1 14 使用的云 AWS EKS 节点 C5 4xLarge
  • kubernetes 集群中 django 应用程序的 Nginx 配置

    我在为部署在 kubernetes 中的 django 应用程序创建 nginx 配置文件时遇到困难 Nginx 和 app 是同一集群中的两个独立容器 据我了解 容器可以通过 127 0 0 1 XX 和主机名相互通信 我为此使用 min
  • 从 celery 工作人员到普罗米修斯的自定义指标

    我有一些 celery 工作人员在 kubernetes 下的容器中运行 它们不会由 celery 自动缩放 并且每个都在单个进程中运行 即没有多处理 我想从他们那里获取一堆不同的指标到普罗米修斯中 我研究过 celery promethe
  • Kubernetes Pod 动态环境变量

    我需要能够将自定义环境变量分配给 Pod 的每个副本 一个变量应该是一些随机的 uuid 另一个唯一的数字 怎么可能实现呢 我更愿意继续使用带有副本的 部署 如果这不是开箱即用的 如何通过自定义复制控制器 控制器管理器来实现 有没有可用的钩
  • Kubernetes 集群自动缩放器似乎不适用于 GKE?

    我定义了一个节点池 最小实例设置为 1 最大实例设置为 5 并启用了自动缩放 但它似乎并没有缩小规模 我已经封锁了一个节点 已经过去12个多小时了 没有待处理的 Pod 删除节点不会减少我自己的部署的副本数量 相关节点上运行以下 pod f
  • Composer 已安装,但获取 /usr/bin/env: php: No such file or directory

    在 CentOS 7 上 我安装了 PHP 7 1 然后我安装了作曲家 cd tmp curl sS https getcomposer org installer php71 gt used php71 instead of php ph
  • 各种 Istio 端口是如何使用的?

    Question 我正在尝试学习 Istio 并且正在设置我的 Istio Ingress Gateway 当我设置它时 有以下端口选项 如此处所示 https istio io latest docs reference config i
  • Podman:如何解析使用 Kubernetes YAML 部署的 pod 的主机名

    我正在使用 podman 4 5 dev 我使用以下方式部署了两个 Pod podman kube 播放 foo yaml podman kube play bar yaml 我在文件中指定了 pod 的主机名 但它们不会在容器内得到解析
  • 允许 Kubernetes 用户列表/获取命名空间

    我有以下用户清单 我希望允许 myapp user 获取集群内所有命名空间的列表 根据我的查找 我应该创建一个 ClusterRole 但我无法真正找到足够的详细信息 是否有所有 apiGroup 以及相应资源和动词的列表 apiVersi

随机推荐

  • java对象比较器_具有多个字段的对象的Java比较器

    我有Collection5个字段的对象 id entityType entityId brandId productId 要排序的ArrayList的Collection我写了下面Comparaor Comparator collectio
  • uint是什么数据类型_「IEC 61131-3」标准数据类型

    IEC 61131 3定义的标准数据类型有 布尔型 整型 浮点型 字符串型 时间日期类型和常数 以下将逐一介绍各种数据类型 布尔型 布尔变量可取值TRUE和FALSE 占8位内存空间 布尔型变量声明示例 bExec BOOL FALSE b
  • 无法启动此程序,因为计算机中丢失QT5Core.dll

    背景 QT项目从QTCreator移植到VS2010中时出现这个问题 原因 在Qt Creator中运行时会根据你当前选择的构建套件生成一套自己的环境变量 这套环境变量与当前电脑的环境变量的差别是添加了Qt库的引用路径 所以在Creator
  • 取余运算的规则

    取余运算满足以下规则 x y p x p y p p 证明如下 假设 x a p b y c p d 则 x p b y p d 则 x y p a p b c p d p a c p b d p b d p x p y p p
  • JAVASE总复习

    一 填空题 共 20 个题目 总计 20 分 1 Java application 中的主类需要包含 main 方法 main 方法的返回类型是void 2 移位运算符可以起到对操作数乘以 2 或者除以 2 的作用 那么操作数除以 2 的移
  • shader练习中遇到的问题点

    half3 lrDirWS normalize reflect lDirWS nDirWS 不加normalize会有白点点 1 max 0 ndotv 模型上会出现黑点点 max 0 1 ndotv 模型上不会出现黑点点
  • Spirng的事务 方法A调用方法B,事务是否失效

    Springboot开启了事务的方法调用没有事务的方法 提示 上方标题是一个很笼统的场景 详情展开如下 先说结论 总结 方法A调用方法B 场景一 如果A和B方法在同一个类中 如果A加 Transactional注解 B加不加 Transac
  • 看完这篇 教你玩转渗透测试靶机vulnhub——FunBox1

    Vulnhub靶机FunBox1渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机安装 Vulnhub靶机漏洞详解 信息收集 暴力破解 ssh登入 提权 获取flag Vulnhub靶机渗透总结 Vulnhub
  • Golang CLI框架介绍

    网址 https github com mitchellh cli 功能 该框架是个人开发的命令行程序框架 作者还成立了公司 HashiCorp 其公司的产品也采用这个CLI框架 解读 框架的思路是 把命令和执行方法以map的形式记录在内部
  • 命令查看被占用端口号,并杀死进程

    1 win R 输入cmd回车打开命令窗口 2 查看所有端口 命令 netstat an 3 查看单个端口号是否被占用 netstat ano findstr 8080 最后一列是占用端口对应的进程号 4 查看进程号对应的进程名称 task
  • 关于对比损失(contrasive loss)的理解(相似度越大越相似的情况):

    def contro loss self 总结下来对比损失的特点 首先看标签 然后标签为1是正对 负对部分损失为0 最小化总损失就是最小化类内损失 within loss 部分 让s逼近margin的过程 是个增大的过程 标签为0是负对 正
  • gitee的一些常用命令

    Gitee 是一个基于 Git 的代码托管和协作平台 提供了一些常用的命令来完成代码的管理和协作 以下是一些常见的 Gitee 命令 克隆远程仓库到本地 Copy Codegit clone lt 远程仓库地址 gt 将本地代码提交到远程仓
  • Matlab

    目录 摘要 一 电力负荷数据导入 二 输入输出数据归一化 三 建立和训练BP神经网络 四 使用测试数据进行负荷预测 五 Matlab代码实现 摘要 使用BP神经网络实现简单的电力负荷回归预测任务 主要的步骤为 导入数据 数据归一化 建立BP
  • Linux中级实战专题篇三:nginx服务(日志介绍,作用域,格式定义,流量控制,访问控制模块,用户信任登录)

    Nginx 日志配置 1 Nginx 日志介绍 Nginx 有一个非常灵活的日志记录模式 每个级别的配置可以有各自独立的访问日志 所需日志模块 ngx http log module 的支持 日志格式通过 log format 命令来定义
  • NP完全问题的证明-算法概论课后习题8.15

    题目 证明如下问题是NP 完全的 输入 两个图G1 V1 E1 和G2 V2 E2 预算b 输出 两个节点集合V1 V1 和V2 V2和它们被移除后 将在两图中分别留下至少b个节点 且图的剩余部分完全一样 解析 可将最大独立集问题归约到此问
  • 多态原理探究

    概念 当类中声明虚函数时 编译器会在类中生成一个虚函数表 虚函数表是一个存储类成员函数指针的数据结构 虚函数表是由编译器自动生成与维护的 virtual成员函数会被编译器放入虚函数表中 当存在虚函数时 每个对象中都有一个指向虚函数表的指针
  • FFmpeg简介及在vc2010下编译步骤

    FFmpeg是一个开源的多媒体库 最新版本是2 4 3 它的License是LGPL或GPL FFmpeg可以用来记录 转换数字音频 视频 并能将其转换为流的开源计算机程序 它包括了音 视频编码库libavcodec FFmpeg是在Lin
  • [mmdetection 混合精度]用fastrcnn实测混合精度fp16效果2

    用官方检测工具测试 平均时间 0 0947 0 1298 0 72958 map比较 faster rcnn r50 fpn 1x coco py fp16训练后map 结论 map下降不明显 但平均训练时间降低了27 fp16还是很好的
  • uni-app混合开发中的链接跳转navigateTo、reLaunch、redirectTo、switchTab区别

    1 navigateTo 保留当前页面 跳转到应用内的某个页面 使用uni navigateBack可以返回到原页面 要注意的是navigateTo只能跳转的应用内非 tabBar 的页面的路径 路径后可以带参数 如果跳转url参数为tab
  • kubeadm 安装 kubernetes 1.4.6

    kubeadm 安装 kubernetes 1 4 6 准备 安装docker 下载镜像 安装kubernetes 安装kubernetes dashbord 准备 机器名 ip centos7 kubermaster 192 168 10