Docker实战技巧(二):Kubernetes基础操作实战

Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题

1、关闭防火墙并设置开机禁用
  systemctl stop firewalld
  systemctl disable firewalld
2、配置repo
  cd /etc/yum.repos.d/
  下载Docker repo
  wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  配置kubernetes repo
  vim kubernetes.repo
  [kubernetes]
  name=Kubernetes Repo
  baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
  gpgcheck=0
  gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
  enabled=1
  查看是否配置成功yum repolist
3、配置gpg
  wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
  rpm --import rpm-package-key.gpg
  rpm --import yum-key.gpg
4、安装docker-ce kubernetes
  yum install docker-ce kubelet kubeadm kubectl -y
5、配置docker初始化
  vi /usr/lib/systemd/system/docker.service
  添加初始化环境变量
  Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
  Environment="NO_PROXY=127.0.0.1/8,172.20.0.0/16"
6、启动docker设置开机自启动
  systemctl start docker
  systemctl enable docker
7、忽略swap警报,启动kubelet
  vi /etc/sysconfig/kubelet
  KUBELET_EXTRA_ARGS="--fail-swap-on=false"
  systemctl enable kubelet.service
  systemctl start kubelet
8、下载k8s镜像
  1)、在github上创建库

    

092a3a3cdc38aae69ae9ef699f6fd699.png

  2)、克隆到本地然后创建Dockerfile

    

cc2c5fba6cb049ab50e426f50c1aeea8.png

  每个内容如下

    

1127a286844d17d9a56d9919f8322c59.png

  然后推送
  3)、在docker hub上创建关联github

    

4d9450963c27d48352cd0ef45b5b22ec.png

  4)、下载镜像,执行下列脚本

    

55926dc49503b5c7481f7090bb284eab.png

  5)、初始化,
    kubeadm init --kubernetes-version=v1.12.1 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=Swap
  6)、等初始化完成后,配置用户权限
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    然后添加node,在node机上执行
    kubeadm join 192.168.137.200:6443 --token cl60h7.y4o6vpizk64j5cz6 --discovery-token-ca-cert-hash sha256:1fda5b34ecd3abb044ff137e5e74afbeea95cfdb881038ed78961b8d2ef00017
  7)、查看状态
    kubectl get cs
  8)、查看nodes
    kubectl get nodes
  9)、安装flannel
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    等待一段时间使用kubectl get nodes查看节点的状态为Ready,表示安装成功
    启动一个服务
    加入node时如果报错dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启iptables规则乱了,通过下面命令纠正:
    systemctl stop kubelet
    systemctl stop docker
    iptables --flush
    iptables -tnat --flush
    systemctl start kubelet
    systemctl start docker
    kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1
    将服务暴露在集群外
    kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80 --protocol=TCP
  10)、查看pod
    kubectl get pods
    查看pod起在哪个节点上
    kubectl get pods -o wide
    查看pod有哪些标签
    kubectl get pods --show-labels

      

e406e9e8a864d4deb3f1c15784a57e40.png

    查看命名空间中的pod
    kubectl get pods --all-namespaces

      

1a917141c15b54c54d15bfef0555c52a.png

    如果Error、Pending、ImagePullBackOff、CrashLoopBackOff都属于启动失败,排查:
      a、查看 /var/log/messages系统日志
      b、kubectl describe pod kube-flannel-ds-amd64-bq6fp --namespace=kube-system 看出node1上flannel镜像下载失败,去node1上手动下载镜像

        

ae2a62a924b743ee495fef97d0609e5b.png

      c、kubectl logs -f kube-flannel-ds-amd64-bq6fp -n kube-system kubedns
  11)、删除pod
    kubectl delete pods <pod NAME>
    (删除后会自动重新创建pod)
  12)、查看services
    kubectl get svc
    查看services都有选择哪些pod,根据标签
    kubectl get svc -o wide

      

ea199c1b5d7e4a354ba8cb956b7f51dc.png

  13)、创建一个容器并运行,名字为nginx-deploy,镜像,端口,使用一个pod
    kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1
  14)、进入运行中的pod
    kubectl exec nginx-deploy-86bf78c77-kxtch -it sh
  15)、查看deployment
    kubectl get deployment
  16)、查看容器运行在那个node
    kebuctl get node -o wide
  17)、创建service,使用nginx-deploy容器,名称,端口,暴露端口
    kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80
  18)、修改运行实例的个数
    kubectl scale --replicas=3 deployment myapp
  19)、对实例进行升级
    kubectl set image deployment nginx-deploy nginx-deploy=nginx:1.17
  20)、回滚升级
    kubectl rollout undo deployment nginx-deploy
  21)、修改svc
    kubectl edit svc nginx-deploy
    spec:type: NodePort 将type改为 NodePort
    可是在集群外访问node IP

 

 

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

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

相关文章

Android毕业设计,基于Android 语音朗读书籍管理系统

视频演示&#xff1a; 基于Android 语音朗读书籍管理系统 基于 Android 的语音朗读书籍管理系统可以提供用户管理书籍、朗读书籍的功能。以下是一个简单的步骤和功能列表&#xff1a; 用户注册和登录功能&#xff1a; 用户可以注册新账号或使用现有账号登录系统。用户信息可以包…

【扩散生成模型】Diffusion Generative Models

提出扩散模型思想的论文&#xff1a; 《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》理解 扩散模型综述&#xff1a; “扩散模型”首篇综述论文分类汇总&#xff0c;谷歌&北大最新研究 理论推导、代码实现&#xff1a; What are Diffusion Models?…

基于win32实现TB登陆滑动验证

这里写目录标题 滑动验证触发条件&#xff1a;失败条件&#xff1a;解决方法:清除cooKie 滑动验证方式一&#xff1a;win32 api获取窗口句柄&#xff0c;选择固定位置 成功率高方式二&#xff1a; 原自动化滑动&#xff0c;成功率中 案例 先谈理论&#xff0c;淘宝 taobao.com …

【网络协议】Http-中

搜索引擎&#xff1a;搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息&#xff0c;在对信息进行组织和处理后&#xff0c;为用户提供检索服务&#xff0c;将检索的相关信息展示给用户的系统。搜索引擎是工作于互联网上的一门检索技术&#xff0c;它旨在提…

向表中针对全部列插入数据

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法格式: insert into 表名 values(); 我们来查看test01表里面有几列 mysql> show databases; -------------------- | Database …

易知微防洪“四预”智慧水利平台上线!全面助力智慧水利建设发展

自古以来&#xff0c;中国的基本水情一直是夏汛冬枯、北缺南丰&#xff0c;水资源时空分布极不均衡&#xff0c;水旱灾害多发频发重发。因此&#xff0c;兴水利、除水害&#xff0c;一直都是涉及国家长治久安的大事要事。随着全球气候变化影响加剧&#xff0c;极端天气增多&…

行业首款数字牙刷 F10 系列:笑容加带来的智能刷牙革命

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【proverif】proverif的下载安装和初使用

文章目录 一、proverif下载1. 下载proverif安装包2. 解压proverif安装包3. 点开其中的README&#xff0c;安装graphciz和gtk4. 查看安装是否成功5. 测试 一、proverif下载 1. 下载proverif安装包 官网&#xff1a;proverif 首先下载全过程无需开外网&#xff0c;而且安装包下…

基于SSM的出租车管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

9.25day5---Qt

登录页面设计&#xff0c;建立用户注册以及登录的数据库&#xff0c;数据库保存用户名和密码 &#xff08;ps:本篇只完成了登录功能&#xff0c;其他功能&#xff0c;请见下篇嘿嘿。&#xff09; 再次注册则失败&#xff1a; 代码如下&#xff1a; 头文件&#xff1a; 登录…

堆的OJ题

&#x1f525;&#x1f525; 欢迎来到小林的博客&#xff01;&#xff01;       &#x1f6f0;️博客主页&#xff1a;✈️林 子       &#x1f6f0;️博客专栏&#xff1a;✈️ 小林的算法笔记       &#x1f6f0;️社区 :✈️ 进步学堂       &am…

redis深度历险 千帆竞发 —— 分布式锁

分布式应用进行逻辑处理时经常会遇到并发问题。 比如一个操作要修改用户的状态&#xff0c;修改状态需要先读出用户的状态&#xff0c;在内存里进行修改&#xff0c;改完了再存回去。如果这样的操作同时进行了&#xff0c;就会出现并发问题&#xff0c;因为读取和保存状态这两个…

生产消费者模型的介绍以及其的模拟实现

目录 生产者消费者模型的概念 生产者消费者模型的特点 基于阻塞队列BlockingQueue的生产者消费者模型 对基于阻塞队列BlockingQueue的生产者消费者模型的模拟实现 ConProd.c文件的整体代码 BlockQueue.h文件的整体代码 对【基于阻塞队列BlockingQueue的生产者消费者模型…

uniapp----微信小程序 日历组件(周日历 月日历)【Vue3+ts+uView】

uniapp----微信小程序 日历组件&#xff08;周日历&& 月日历&#xff09;【Vue3tsuView】 用Vue3tsuView来编写日历组件&#xff1b;存在周日历和月日历两种显示方式&#xff1b;高亮显示当天日期&#xff0c;红点渲染有数据的日期&#xff0c;点击显示数据 1. calenda…

数据结构——AVL树

目录 1.什么是AVL树&#xff1f; 2.AVL树插入的模拟实现 ①节点定义 ②插入 ③旋转 ⑴右单旋 ⑵左单旋 ⑶双旋&#xff08;右左旋&#xff09; ⑷双旋&#xff08;左右旋&#xff09; ⑸完整的插入代码 3.AVL树的性能分析 1.什么是AVL树&#xff1f; AVL树是一种自…

NLP文本生成全解析:从传统方法到预训练完整介绍

目录 1. 引言1.1 文本生成的定义和作用1.2 自然语言处理技术在文本生成领域的使用 2 传统方法 - 基于统计的方法2.1.1 N-gram模型2.1.2 平滑技术 3. 传统方法 - 基于模板的生成3.1 定义与特点3.2 动态模板 4. 神经网络方法 - 长短时记忆网络(LSTM)LSTM的核心概念PyTorch中的LST…

中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

YOLOv8快速复现 训练 SCB-Dataset3-S 官网版本 ultralytics

目录 0 相关资料SCB-Dataset3-S 数据训练yaml文件 YOLOv8 训练SCB-Dataset3-S相关参数 0 相关资料 YOLOV8环境安装教程.&#xff1a;https://www.bilibili.com/video/BV1dG4y1c7dH/ YOLOV8保姆级教学视频:https://www.bilibili.com/video/BV1qd4y1L7aX/ b站视频&#xff1a;…

ceph分布式存储

ceph特点 Ceph项目最早起源于Sage就读博士期间的工作&#xff08;最早的成果于2004年发表&#xff09;&#xff0c;并随后贡献给开源社区。在经过了数年的发展之后&#xff0c;目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的…

经典指标策略回测一览

编辑 经典指标策略回测一览 关键词 A股市场&#xff08;沪深京三市&#xff09; 5000股票20年内日线走势回测&#xff0c;区分除权&#xff0c;前复权&#xff0c;后复权三种模式&#xff1b;由于数据量较大&#xff0c;采用两种方式共享数据&#xff0c;一是 天启网站的数据…