CC00004.CloudKubernetes——|Kuberneteskubeadm部署.V03|——|kubernetes集群部署|
### --- 在10.10.10.11(master)执行[root@k8s-master ~]# kubeadm init \
> --apiserver-advertise-address=10.10.10.11 \ # 当前节点的IP
> --image-repository registry.aliyuncs.com/google_containers \ # 镜像仓库;阿里云镜像
> --kubernetes-version v1.18.0 \ # 当前版本
> --service-cidr=10.96.0.0/12 \ # 最后两条参数:IP,和当前节点不冲突即可,没什么特别的含义
> --pod-network-cidr=10.244.0.0/16
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull' #拉取镜像
Your Kubernetes control-plane has initialized successfully! # 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/configsudo chown $(id -u):$(id -g) $HOME/.kube/configYou 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 10.10.10.11:6443 --token 8asf0c.05zp7rlwnpc6nnx3 \ # 第二步:提示执行第二步骤--discovery-token-ca-cert-hash sha256:367501994a40b68283accfb0d24e79f0a2320a3efd89af2ec436105282ab5d01
### --- 拉取到的镜像
~~~ 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址 [root@k8s-master ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-proxy v1.18.0 43940c34f24f 11 months ago 117MB
registry.aliyuncs.com/google_containers/kube-apiserver v1.18.0 74060cea7f70 11 months ago 173MB
registry.aliyuncs.com/google_containers/kube-controller-manager v1.18.0 d3e55153f52f 11 months ago 162MB
registry.aliyuncs.com/google_containers/kube-scheduler v1.18.0 a31f78c7c8ce 11 months ago 95.3MB
registry.aliyuncs.com/google_containers/pause 3.2 80d28bedfe5d 12 months ago 683kB
registry.aliyuncs.com/google_containers/coredns 1.6.7 67da37a9a360 12 months ago 43.8MB
registry.aliyuncs.com/google_containers/etcd 3.4.3-0 303ce5db0e90 16 months ago 288MB
### --- 使用kubectl工具(根据提示执行步骤)[root@k8s-master ~]# mkdir -p $HOME/.kube
[root@k8s-master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@k8s-master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
$[root@k8s-master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master NotReady master 6m1s v1.18.0 #NotReady:没有准备好
### --- 安装Pod网络插件(CNI)
~~~ 确保能够访问到quay.io这个registery,如果Pod镜像下载失败,可以改这个镜像地址[root@k8s-master ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
podsecuritypolicy.policy/psp.flannel.unprivileged created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created #created:创建
### --- 查看当前部署了什么组件
~~~ 服务启动需要时间,等待服务启动[root@k8s-master ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7ff77c879f-9ms2h 1/1 Running 0 45m
coredns-7ff77c879f-f2xvg 1/1 Running 0 45m
etcd-k8s-master 1/1 Running 0 46m
kube-apiserver-k8s-master 1/1 Running 0 46m
kube-controller-manager-k8s-master 1/1 Running 0 46m
kube-flannel-ds-kbshh 1/1 Running 0 30m
kube-flannel-ds-mcr74 1/1 Running 0 30m
kube-flannel-ds-r4djc 1/1 Running 0 30m
kube-proxy-29l97 1/1 Running 0 36m
kube-proxy-8vvh9 1/1 Running 0 45m
kube-proxy-qj5vh 1/1 Running 0 36m
kube-scheduler-k8s-master 1/1 Running 0 46m
[root@k8s-master ~]# kubectl get nodes #ready准备就绪
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 46m v1.18.0
k8s-node1 Ready <none> 36m v1.18.0
k8s-node2 Ready <none> 36m v1.18.0
### --- 在10.10.10.12/13(Node)执行
~~~ 向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:[root@k8s-node1 ~]# kubeadm join 10.10.10.11:6443 --token 8asf0c.05zp7rlwnpc6nnx3 \
> --discovery-token-ca-cert-hash sha256:367501994a40b68283accfb0d24e79f0a2320a3efd89af2ec436105282ab5d01
[root@k8s-node2 ~]# kubeadm join 10.10.10.11:6443 --token 8asf0c.05zp7rlwnpc6nnx3 \
> --discovery-token-ca-cert-hash sha256:367501994a40b68283accfb0d24e79f0a2320a3efd89af2ec436105282ab5d01
[root@k8s-master ~]# kubectl get nodes #状态为NotReady,缺少网络组件
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 46m v1.18.0
k8s-node1 Ready <none> 36m v1.18.0
k8s-node2 Ready <none> 36m v1.18.0
### --- 在kubernetes集群中创建一个pod,验证是否正常运行:[root@k8s-master ~]# kubectl create deployment nginx --image=nginx #创建nginx
deployment.apps/nginx created
[root@k8s-master ~]# kubectl get pod #状态为running即可
NAME READY STATUS RESTARTS AGE
nginx-f89759699-p8tnx 1/1 Running 0 17s
[root@k8s-master ~]# kubectl expose deployment nginx --port=80 --type=NodePort #对外暴露端口
service/nginx exposed
[root@k8s-master ~]# kubectl get pod,svc
NAME READY STATUS RESTARTS AGE
pod/nginx-f89759699-p8tnx 1/1 Running 0 118sNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 50m
service/nginx NodePort 10.104.117.58 <none> 80:31149/TCP 10s #暴露的端口是31149
### --- 访问地址:http://NodeIP:Port
~~~ 通过Chrome访问:node节点地址,若访问成功,说明容器集群部署成功http://10.10.10.12:31149/ # 可以访问到Welcome to nginx!
http://10.10.10.13:31149/ # 可以访问到Welcome to nginx!
CC00004.CloudKubernetes——|Kuberneteskubeadm部署.V03|——|kubernetes集群部署|相关推荐
- kubernetes 集群部署
kubernetes 集群部署 环境 JiaoJiao_Centos7-1(152.112) 192.168.152.112 JiaoJiao_Centos7-2(152.113) 192.168.1 ...
- 使用Minikube部署本地Kubernetes集群(二十九)
前言 使用Minikube部署本地k8s集群相对比较简单,非常推荐将其用于本地k8s开发环境,唯一麻烦点的仅仅是网络问题. 在本篇教程中,我们使用了国内的镜像来完成本地k8s集群的搭建.如果搭建过程中 ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三
在上文ASP.NET Core应用程序容器化.持续集成与Kubernetes集群部署(二)中,我介绍了如何使用Azure DevOps为ASP.NET Core应用程序案例:tasklist搭建持续集 ...
- ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)
在上文中我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序:tasklist.今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NE ...
- 如何部署一个Kubernetes集群
来源 | 无敌码农 责编 | 寇雪芹 头图 | 下载于视觉中国 在上一篇文章<Kubernetes和Docker的关系是什么?>中,和大家分享了关于Kubernetes的基本系统架构以及关 ...
- 如何轻松地将可访问LAN的Pod部署到Kubernetes集群上
撰者 | Jack Wallen 译者 | Katie,责编 | Jerry 来源 | CSDN云计算 封图 | CSDN 下载自视觉中国 想要在Kubernetes集群上部署可访问LAN的Pod来达 ...
- 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中
摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...
- Kubernetes集群部署实录
空降助手 环境准备 服务器配置信息 部署版本信息 关闭防火墙 禁用SELinux 关闭swap 修改hostname 配置hosts文件 runtime安装(docker安装) 安装记录 kubead ...
- Kubernetes 集群部署 之 多Master节点 实现高可用
目录 前言 一.K8s Master 高可用架构 二.在单Master节点基础上搭建 多Master集群架构 2.1 环境准备 与 搭建步骤 2.2 首先部署 Master02 节点 2.2.1 从 ...
最新文章
- Spark2.1.0分布式集群安装
- [py]django url 参数/reverse和HttpResponseRedirect
- 【错误记录】Android Studio 编译报错 ( A problem occurred starting process ‘command ‘ninja.exe‘ ‘ )
- python 爬虫 scrapy 和 requsts 哪个快_Scrapy爬虫框架结构以及和Requests库的比较
- stm32控制舵机任意角度_如何对舵机建模仿真?
- ViewPager两种方式实现无限轮播
- Linux中read接收用户输入
- mysql 报错解决思考Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column
- 存储过程返回结果集_PostgreSQL函数返回结果集
- ArcEngine实现pagelayout中文本元素的属性对话框
- Execution failed for task :Test:lintVitalRelease/Lint found fatal errors while assembling a release
- 关于openstack部分计算节点无法实现热迁移问题描述
- wordpress主题制作,wordpress主题模板制作
- OpenMP与MPI
- 笔记本上建立WIFI供安卓手机使用
- 解决coursera可以登录但无法播放视频
- Python的编译器
- 蒙提霍尔问题:上帝视角 + 暴力数学
- Bilateral Filter、Cross/Joint Bilateral Filter
- 使用这个算法我可以实现英雄联盟里英雄的走位|Java 开发实战
热门文章
- head在linux命令中什么意思,linux中head命令的详细解释
- 领跑两轮电动车江湖,谁是“关键先生”?
- multiset用法 oracle,oracle cast multiset table 语法演示
- 手机里面的精品APP,让你轻松提升工作效率
- 【PPT】新零售企业数字化转型实践
- 分享:自动输入串口命令并截取log的python脚本
- 用java定义姓名年龄_编写Java程序,用于显示学生的姓名和年龄、专业。
- day06——朴素贝叶斯算法
- 几句话搞懂朴素贝叶斯法(简单理解和应用)
- Flask(Jinja2)服务端模板注入漏洞——vulhub/flack/ssti