docker 修改阿里镜像源_国内部署kubernetes集群的最佳实践(一)—官方教程+阿里镜像源

项目github地址:https://github.com/usualheart/install_k8s_official

在国内环境下,借助阿里镜像源,按照官方的指导,使用脚本一步一步安装kubernetes。

参考教程

【官方】在ubuntu上安装docker

https://docs.docker.com/engine/install/ubuntu/

【官方】安装kubeadm

https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

【官方】通过kubeadm创建一个单控制面板的集群

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm

版本说明

当前教程所安装的k8s、docker均默认为最新稳定版本(当前k8s最新约v1.18)

如果需要安装比较旧的版本,需要确保k8s与docker之间兼容,并在安装时指定版本

具体安装方法参见github项目地址中关于如何安装指定版本k8s的说明。

准备工作

# 下载仓库代码到本地git clone https://github.com/usualheart/install_k8s_official.git# 打开文件夹cd install_k8s_official# 配置阿里ubuntu源 可选./ali_ubuntu_sources/set_ali_sources.sh# 暂时关闭swap (利用 vi /etc/fstab 将swap一行注释掉并重启即可永久关闭)sudo swapoff -a 

安装配置docker

  • install_docker_for_ubuntu1604.sh按照Docker官方指导,为ubuntu安装docker

配置docker

注意:docker安装完成后需要配置cgroup驱动为systemd来增强稳定性 具体说明参考:https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/

# Set up the Docker daemoncat > /etc/docker/daemon.json <
mkdir -p /etc/systemd/system/docker.service.d
# Restart Dockersystemctl daemon-reloadsystemctl restart docker

安装kubeadm kubelet kubectl

  • kubeadm_install.sh按照k8s官方指导,安装kubeadm、kubelet、kubectl
  • kubeadm_install_from_ali.sh按照阿里官方指导,设置kubernetes阿里源,同时安装kubeadm、kubelet、kubectl。

初始化k8s集群master

使用kubeadm初始化一个master 可以通过修改kubernetes-version来指定kubernetes版本 也可以编写一个yaml配置文件来实现更复杂的自定义

sudo kubeadm init --apiserver-advertise-address 192.168.56.101  --image-repository=registry.aliyuncs.com/google_containers

--image-repository选项指定了自定义的镜像仓库来代替gcr.io 避免国内无法下载的问题

更多细节可以参考k8s官方文档对kubeadm init的说明

一些配置

在主节点执行:

# 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

安装pod网络插件

这里安装calico插件

kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

在这一步容易出现拉取calico镜像失败的问题,手动拉取:

docker pull calico/cni:v3.14.1

启用主节点调度

kubectl taint nodes --all node-role.kubernetes.io/master-

打开后pod会调度在主节点运行,这步执行完成后相当于拥有了一个单节点kubernetes

9400bc2c56d2b3724a37eac06f64b096.png

加入节点 以构建多节点k8s集群

在其它虚拟机上边安装好相应的docker kubeadm后执行下面的步骤加入到主节点,实现多节点的k8s集群。

kubeadm join --token : --discovery-token-ca-cert-hash sha256:

参数1:

如果没有token可以在主节点上运行下边的命令得到:

kubeadm token list

输出结果类似于这个:

TOKEN                    TTL  EXPIRES              USAGES           DESCRIPTION            EXTRA GROUPS8ewj1p.9r9hcjoqgajrj4gi  23h  2018-06-12T02:51:28Z authentication,  The default bootstrap  system:                                                   signing          token generated by     bootstrappers:                                                                    'kubeadm init'.        kubeadm:                                                                                           default-node-token

默认token 24小时过期。如果你在token已经过期后才加入到一个集群,可以通过在主节点上边运行下边的指令来创建一个新的token:

kubeadm token create

输出类似于:

5didvk.d09sbcov8ph2amjw

参数2::

  • 填主节点的ip地址,或者主节点的hostname(如果填hostname需要保证可以通过hostname访问到主节点)
  • control-plane-port一般默认是6443

参数3:--discovery-token-ca-cert-hash

如果你不知道--discovery-token-ca-cert-hash的值,可以通过运行下边的命令在主节点上得到:

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null |    openssl dgst -sha256 -hex | sed 's/^.* //'

结果输出类似于:

8cb2de97839780a412b93877f8507ad6c94f73add17d5d7058e91741c9d5ec78

ipv6相关的注意

Note: To specify an IPv6 tuple for :, IPv6 address must be enclosed in square brackets, for example: [fd00::101]:2073.

加入结果

填好参数的一个例子:

kubeadm join --token dj7ard.mtehsr9qts4mwgkg 192.168.0.102:6443 --discovery-token-ca-cert-hash sha256:be2258c8445d1eeeac88576b0a62a86bd2575fb991675853c97ef0df79666f38

kubeadm join命令执行后的结果应当如下所示:

[preflight] Running pre-flight checks... (log output of join workflow) ...Node join complete:* Certificate signing request sent to control-plane and response  received.* Kubelet informed of new secure connection details.Run 'kubectl get nodes' on control-plane to see this machine join.

几秒钟之后,应当可以在主节点上通过运行kubectl get nodes看到新节点已经加入了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html 指定对象为块元素,html内联(行内)元素、块级(块状)元素和行内块元素分类...

HTML可以将元素分类方式分为内联(行内)元素、块级(块状)元素和行内块元素三种。注&#xff1a;HTML是标签语言&#xff0c;那么既然是标签&#xff0c;就可以自己定义一些自己元素(如自定义的元素等)&#xff0c;自定义元素浏览器默认解析为内联元素&#xff0c;为防止不同浏览…

defaultdict python_在python中怎样使用defaultdict-百度经验

defaultdict是collection模块下面的一个类&#xff0c;用于在执行字典的时候&#xff0c;遇到没有设置的属性的时候&#xff0c;可以设置默认的值&#xff0c;那么在python中怎样使用defaultdict呢&#xff1f;下面小编就带大家来看看详细的教程&#xff01;工具/原料 python版…

微型计算机除具有计算机的一般特点外,10秋学期《计算机应用基础》第1次在线作业答案免费6/15...

10秋学期《计算机应用基础》第1次在线作业答案免费6/152011-02-17 00:02:57266有学员问关于10秋学期《计算机应用基础》第1次在线作业答案免费6/15的题目的参考答案和解析&#xff0c;具体如下&#xff1a;2010秋学期《计算机应用基础》第一次在线作业试卷总分&#xff1a;100 …

java面试换背景颜色_三年经验Java程序员记一次失败的面试分享:鹅厂三面让我体无完肤!...

欢迎关注专栏&#xff1a;里面定期分享Java架构技术知识点及解析&#xff0c;还会不断更新的BATJ面试专题&#xff0c;欢迎大家前来探讨交流&#xff0c;如有好的文章也欢迎投稿。程序员圈内那点事​zhuanlan.zhihu.com经过半年的沉淀&#xff0c;加上对MySQL&#xff0c;redis…

git 获取最新代码_github从远程仓库获取

前面我们说明了如何将本地的代码push到远程的仓库中&#xff0c;现在我们将学习从远程仓库上的获取代码到本地。1&#xff0c;建立一个新的文件夹&#xff0c;以从远端获取完整的git项目命令1&#xff1a;git clone https://github.com/huangguojie880/git-demo.git2&#xff0…

golang 远程批量执行shell_S2061远程代码执行漏洞复现及批量检测脚本(CVE202017530)...

声明由于传播、利用此文所提供的信息或工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;博鸿科技安全服务中心以及文章作者不为此承担任何责任。博鸿科技安全服务中心拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c;必须保…

准备学python用什么电脑_001-小白学python-初入python世界

计算机组成原理硬件 主机 cpu中央处理器 &#xff08;运算器与控制器&#xff09; 内存&#xff08;只读&#xff0c;随机&#xff09;外设 输入设备&#xff08;键盘&#xff0c;鼠标&#xff0c;录影&#xff08;音&#xff09;机&#xff09; 输出设备&#xff08;屏幕&…

html 添加窗口小部件,如何:为自定义窗口小部件定义主题(样式)项

波斯汪是的&#xff0c;有一种方法&#xff1a;假设您有一个小部件的属性声明(在中attrs.xml)&#xff1a; 声明用于样式参考的属性(在中attrs.xml)&#xff1a; 为小部件声明一组默认属性值(在中styles.xml)&#xff1a;声明自定义主题(在中themes.xml)&#xff1a;将此…

excel帮助文档_可以惊艳到你的6个excel基础技巧

Excel技巧太多&#xff0c;也许我们一直都在学习的路上&#xff0c;每天掌握一点点&#xff0c;工作轻松一点点&#xff0c;今天给大家带来6个excel经常会用到的技巧&#xff0c;操作简单&#xff0c;非常实用。技巧一&#xff1a;给excel文件添加打开密码第一步&#xff0c;很…

python find 不区分大小写_学好python拿高薪系列一(5):字符串操作和python数据结构...

大家好&#xff0c;上一期我们分享了python函数部分的内容&#xff0c;那么在这一期我们将分享python中有关字符串和列表的部分。字符串字符串没有什么好说的&#xff0c;知道一些常用的用法就行了。#字符串操作strr "hello,world!"#1、获取字符串长度print(len(strr…

for里面调用方法 vue_Vue源码阅读连载之Vue实例

我们学习Vue都是从下面这个例子开始的new Vue({render: h > h(App), }).$mount(#app)事实上&#xff0c;所有的Vue项目的组成组件都是一个Vue的实例&#xff0c;最后由根部的Vue实例去挂载到DOM上&#xff0c;当然这个"挂载"的操作可以针对不同的平台而有不同的行…

计算机组装怎么备份系统,手把手教你用GHOST备份还原安装电脑系统详细图文教程...

首先我们可以利用之前安装系统时提到的带启动功能和工具的系统安装盘&#xff0c;比如98启动盘或番茄花园的光盘&#xff0c;如果你用的U盘上带有GHOST工具&#xff0c;那很简单&#xff0c;我们还是要设置由光驱为第一启动项&#xff0c;重新启动电脑让电脑由光驱启动&#xf…

python车牌识别系统开源代码_python利用百度云接口实现车牌识别的示例

一个小需求---实现车牌识别。 目前有两个想法 1. 调云在线的接口或者使用SDK做开发&#xff08;配置环境和编译第三方库很麻烦&#xff0c;当然使用python可以避免这些问题&#xff09; 2. 自己实现车牌识别算法&#xff08;复杂&#xff09; 一开始准备使用百度云文字识别C SD…

c 包含其他文件_C/C++编程笔记:C/C++的编译和链接,计算机专业大学生必备知识...

C/C文件C/C程序文件包括 .h .c .hpp .cpp&#xff0c;其中源文件(.c .cpp)是基本的编译单元&#xff0c;头文件(.h .hpp)不会被编译器编译。C/C项目构建(build)过程&#xff0c;分为以下几个步骤 预处理 → 编译 → 链接。预编译预编译的过程可以理解为编译器(实际上是预处理器…

python函数命名空间_Python中的函数 ​命名空间 作用域和局部函数 匿名(lambda)函数...

函数 是 Python中最重要的代码组织和复用手段函数用def关键字声明&#xff0c;return关键字返回&#xff1a; def function(x, y, z1.5): if z > 1: return z * (x y) else: return z / (x y) ##可以拥有多条return语句&#xff0c;如果到达函数末尾时没有遇到任何一条ret…

二建施工管理思维导图_备考二建不丢分?二建思维导图全程指导,知识点记忆快、不分散...

关键字&#xff1a;二建 一建 建造师考试 建造师证书 建筑 工程 建筑项目 法规 管理 市政 公路目前&#xff0c;距离2020年二级建造师考试的时间越来越近&#xff0c;很多准备参加二建考试的朋友也开始紧张起来了。二建考试分为公共科和专业科&#xff0c;公共科为法规和管理&a…

机器学习线性回归算法实验报告_吴恩达机器学习系列4:线性回归的梯度下降算法...

之前我们已经学过了线性回归、代价函数和梯度下降&#xff0c;但是他们就像一个人的胳膊和腿&#xff0c;只有组合在一起才会成为一个「完整的人」&#xff0c;这个「完整的人」就是一个机器学习算法&#xff0c;让我们一起来学习第一个机器学习算法吧。这个机器学习算法叫做线…

树莓派python3_【树莓派】给ubuntu18安装python3.7

准备工作 安装工具 sudo apt update sudo apt upgrade sudo apt install gcc sudo apt install g sudo apt-get install libffi-dev sudo apt install build-essential checkinstall sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-de…

c++mfc编写实验_零基础学Windows窗口图形界面编程(不用MFC),菜鸟学完变身高手,敢与专业媲美...

又一门新的计算机课上线啦&#xff01;什么课&#xff1f;看下面视频(以下视频是本课第一讲)用什么语言我们声明一下(这个在我们课上也跟同学强调)&#xff1a;不要为用什么语言掐架&#xff01;那是初学者的行为&#xff0c;为高手所不为。第二&#xff0c;我们这门课讲的不是…

超级计算机阿波罗11,Apollo 8000推进超算科学发展

Apollo 8000推进超算科学发展超级计算技术将理论转移到模拟数字环境和计算机分析&#xff0c;一直被应用于加快科学和工程领域的突破。最新的高性能计算技术带来的创新让企业客户也能够访问这些程序和应用、强化研发能力并获得竞争优势。Apollo 8000推进超算科学发展作为散热媒…