https://blog.csdn.net/jinglexy/article/details/79813546

在官网web上进行kubenetes测试:
kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port=8080
kubectl scale --replicas=3 deployment/kubernetes-bootcamp
kubectl scale --replicas=2 deployment/kubernetes-bootcamp

kubectl get deployment
kubectl get pod
kubectl get service

kubectl set image deployment/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
curl host01:30692 根据上面service的端口
curl host01:30692
kubectl rollout undo deployment/kubernetes-bootcamp
curl host01:30692 根据上面service的端口
curl host01:30692

======================================================================================

(1)安装kubelet, kubeadm和kubectl(master和slave都需要执行)
https://kubernetes.io/docs/setup/independent/install-kubeadm/
各个节点:
master: 192.168.7.163
slave1: 192.168.7.164
slave2: 192.168.7.165
把/etc/fstab里面的swap干掉,然后在~/.bashrc添加sudo /sbin/swapoff -a

(2)初始化master(如果步骤失败,执行kubeadm reset)
kubeadm init --apiserver-advertise-address 192.168.7.163 --pod-network-cidr=10.244.0.0/16
输出结果里面的最下面的一条kubeadm join记下来,后面会用到,例如:
kubeadm join 192.168.7.163:6443 --token gws3w0.vftvaze6zwe0vzhm --discovery-token-ca-cert-hash sha256:3adf3ee2350412b4ae434da02edcbcd119fa9da306a20758b8be1261716c527f
如果失败或者以后更改master参数:
sudo kubeadm reset
sudo docker stop $(docker ps |grep k8s_ | awk '{print $1}')
sudo docker rm $(docker ps |grep k8s_ | awk '{print $1}')
sudo rm -rf /var/lib/kubelet/
docker ps -a务必没有k8s_开头的容器

(3)master下配置kubectl环境
mkdir ~/.kube
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
sudo chown wyt:wyt ~/.kube/config
sudo chmod 777 ~/.kube/config
sudo bash -c "kubectl completion bash > /etc/bash_completion.d/kubectl"
sudo bash -c "kubeadm completion bash > /etc/bash_completion.d/kubeadm"

(4)master下配置pod网络(安装flannel)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

(5)slave初始化(如果有多个slave,每个slave都要执行)
执行上面的kubeadm join命令,可能会报一个错误,原因是/var/run/dockershim.sock不存在,因为没有创建slave所以不存在,这是个无限死循环,解决方法:
在kubeadm join后面加一个参数: --ignore-preflight-errors=cri

(6)slave下配置kubectl环境
mkdir ~/.kube
sudo cp /etc/kubernetes/kubelet.conf ~/.kube/config
sudo chown wyt:wyt ~/.kube/config
sudo chmod 777 ~/.kube/config
sudo bash -c "kubectl completion bash > /etc/bash_completion.d/kubectl"
sudo bash -c "kubeadm completion bash > /etc/bash_completion.d/kubeadm"

(6)相关命令
kubectl get pod --all-namespaces
kubectl get node
kubectl get deployment

(7)deployment
kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2
然后用kubectl get deployment/pod查看情况,发现pod状态是ContainerCreating,
悲了个催的,然后调试:
kubectl describe deployment nginx-deployment
kubectl describe pod nginx-deployment-6b5c99b6fd-nvjkg
提示:FailedCreatePodSandBox,发现是前面pod-network-cidr设置问题
搞定后:通过ifconfig命令,master主机网段是10.244.0.x,slave1网段是10.244.1.x
kubectl get pod --all-namespaces必须全部running,否则后面的没有意义

(8)yml示例:
https://gist.github.com/wjx0912/5941737974edc91c462f05e8a0a50dce
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

(9)我整理的一些yml
https://gist.github.com/wjx0912

(10)接下来需要学习的要点
创建service,dns访问service,外网访问service,回滚,volume管理,helm包管理,网络部署,dashboard,集群监控,日志

kubenetes安装记录和要点的更多相关文章

  1. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  2. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  3. sourceinsight安装记录

    sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...

  4. openerp安装记录及postgresql数据库问题解决

    ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库    a.安装         sudo apt-get install postgresql    安装后ubu ...

  5. Matlab安装记录 - LED Control Activex控件安装

    Matlab安装记录-LED Control Activex控件安装 2013-12-01  22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...

  6. Arch Linux 安装记录

    Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...

  7. redis5.0.3单实例简单安装记录

    redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...

  8. mysql5.7安装记录

    mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...

  9. Liunx/RHEL6.5 Oracle11 安装记录

    1.创建用户组 groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle ...

随机推荐

  1. 字符串排序--string类的使用

    最近帮他们做了一个简单的c++的题目,以前做过,当时是借鉴的别人的代码,现在也忘得差不多了,不过思路还有,现在正好可以再温习一下. 题目要求如下: 先输入你要输入的字符串的个数.然后换行输入该组字符串 ...

  2. 使用nexus3.x搭建maven私服

    前言 好久之前就想搭建maven仓库了,一直拖到了现在,也就是懒得动,现在终于是要付诸行动了.网上查了不少资料,好多博客都是关于2.x的搭建,我下载的是最新版的nexus,好多教程已经不能使用,以此记 ...

  3. Vue.js中记不住 的东西

    给样式背景赋值: :style="{backgroundImage:'url(' + otherInfo.head_image + ')'}" <img :src=" ...

  4. Oracle修改系统参数导致系统无法启动对pfile文件恢复。

    1.当前现象:Oracle启动报错ORA-27102 [oracle@JYDB1 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Prod ...

  5. as3 加载进来的swf进行缩放

    private function swfComHdl(_loader:Loader, _data:*= null){ frameLder = _loader; gameMC = frameLder.c ...

  6. mac下新建txt文本快捷方式.md

    转:127.0.0.1:47873/help/0-436/ms.help?method=page&id=A38C5670-BA28-44F3-BD5B-FCB46880E904&pro ...

  7. 阿里云消息队列的C#使用http接口发送消息实例

    app.config <appSettings> <clear/> <add key="Ons_Topic" value="XXX_Fini ...

  8. python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域

    复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参:       -- 形参:在函数定义时()中出现的参数       ...

  9. 随想:目标识别中,自适应样本均衡设计,自适应模型结构(参数可变自适应,模型结构自适应,数据类别or分布自适应)

    在现在的机器学习中,很多人都在研究自适应的参数,不需要人工调参,但是仅仅是自动调参就不能根本上解决 ai识别准确度达不到实际生产的要求和落地困难的问题吗?结论可想而知.如果不改变参数,那就得从算法的结 ...

  10. Taro之百度地图显示定位点和信息

    由于没有后台数据就随机生成点来模拟了.具体代码如下. componentDidMount = () => { const { BMap, BMAP_STATUS_SUCCESS } = wind ...