一、部署kubernetes Master
### --- 在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工具(根据提示执行步骤)
### --- 使用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)
### --- 安装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

四、加入kubernetes Node
### --- 在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集群
### --- 在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集群部署|相关推荐

  1. kubernetes 集群部署

    kubernetes 集群部署 环境 JiaoJiao_Centos7-1(152.112) 192.168.152.112 JiaoJiao_Centos7-2(152.113) 192.168.1 ...

  2. 使用Minikube部署本地Kubernetes集群(二十九)

    前言 使用Minikube部署本地k8s集群相对比较简单,非常推荐将其用于本地k8s开发环境,唯一麻烦点的仅仅是网络问题. 在本篇教程中,我们使用了国内的镜像来完成本地k8s集群的搭建.如果搭建过程中 ...

  3. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(三

    在上文ASP.NET Core应用程序容器化.持续集成与Kubernetes集群部署(二)中,我介绍了如何使用Azure DevOps为ASP.NET Core应用程序案例:tasklist搭建持续集 ...

  4. ASP.NET Core应用程序容器化、持续集成与Kubernetes集群部署(二)

    在上文中我介绍了ASP.NET Core应用程序容器化时需要注意的几个问题,并给出了一个案例应用程序:tasklist.今天接着上文的内容,继续了解一下如何使用Azure DevOps进行ASP.NE ...

  5. 如何部署一个Kubernetes集群

    来源 | 无敌码农 责编 | 寇雪芹 头图 | 下载于视觉中国 在上一篇文章<Kubernetes和Docker的关系是什么?>中,和大家分享了关于Kubernetes的基本系统架构以及关 ...

  6. 如何轻松地将可访问LAN的Pod部署到Kubernetes集群上

    撰者 | Jack Wallen 译者 | Katie,责编 | Jerry 来源 | CSDN云计算 封图 | CSDN 下载自视觉中国 想要在Kubernetes集群上部署可访问LAN的Pod来达 ...

  7. 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中

    摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...

  8. Kubernetes集群部署实录

    空降助手 环境准备 服务器配置信息 部署版本信息 关闭防火墙 禁用SELinux 关闭swap 修改hostname 配置hosts文件 runtime安装(docker安装) 安装记录 kubead ...

  9. Kubernetes 集群部署 之 多Master节点 实现高可用

    目录 前言 一.K8s Master 高可用架构 二.在单Master节点基础上搭建 多Master集群架构 2.1 环境准备 与 搭建步骤 2.2 首先部署 Master02 节点 2.2.1 从 ...

最新文章

  1. Spark2.1.0分布式集群安装
  2. [py]django url 参数/reverse和HttpResponseRedirect
  3. 【错误记录】Android Studio 编译报错 ( A problem occurred starting process ‘command ‘ninja.exe‘ ‘ )
  4. python 爬虫 scrapy 和 requsts 哪个快_Scrapy爬虫框架结构以及和Requests库的比较
  5. stm32控制舵机任意角度_如何对舵机建模仿真?
  6. ViewPager两种方式实现无限轮播
  7. Linux中read接收用户输入
  8. mysql 报错解决思考Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column
  9. 存储过程返回结果集_PostgreSQL函数返回结果集
  10. ArcEngine实现pagelayout中文本元素的属性对话框
  11. Execution failed for task :Test:lintVitalRelease/Lint found fatal errors while assembling a release
  12. 关于openstack部分计算节点无法实现热迁移问题描述
  13. wordpress主题制作,wordpress主题模板制作
  14. OpenMP与MPI
  15. 笔记本上建立WIFI供安卓手机使用
  16. 解决coursera可以登录但无法播放视频
  17. Python的编译器
  18. 蒙提霍尔问题:上帝视角 + 暴力数学
  19. Bilateral Filter、Cross/Joint Bilateral Filter
  20. 使用这个算法我可以实现英雄联盟里英雄的走位|Java 开发实战

热门文章

  1. head在linux命令中什么意思,linux中head命令的详细解释
  2. 领跑两轮电动车江湖,谁是“关键先生”?
  3. multiset用法 oracle,oracle cast multiset table 语法演示
  4. 手机里面的精品APP,让你轻松提升工作效率
  5. 【PPT】新零售企业数字化转型实践
  6. 分享:自动输入串口命令并截取log的python脚本
  7. 用java定义姓名年龄_编写Java程序,用于显示学生的姓名和年龄、专业。
  8. day06——朴素贝叶斯算法
  9. 几句话搞懂朴素贝叶斯法(简单理解和应用)
  10. Flask(Jinja2)服务端模板注入漏洞——vulhub/flack/ssti