k8s搭建实操记录一(master)
#1)关闭CentOS7自带的防火墙服务
systemctl disable firewalld
systemctl stop firewalld
swapoff -a ##虚拟机要关闭交换内存。
#2)修改主机名
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2
#3)修改/etc/hosts
cat >> /etc/hosts <<EOF
172.16.110.111 master
172.16.110.112 node1
172.16.110.114 node2
EOF
#4)修改时间:
yum -y install ntpdate
ntpdate ntp1.aliyun.com
#5)master上操作安装k8s和docker:
Yum –y install wget
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
cat
>>/etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1
EOF
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import rpm-package-key.gpg
yum
-y install docker-ce kubelet kubeadm kubectl
#6)更改环境变量,启动docker:
cat  >>
/usr/lib/systemd/system/docker.service <<EOF
Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
Environment="NO_PROXY=127.0.0.0/8,172.0.0.0/16"
EOF
systemctl
daemon-reload
systemctl
start docker
systemctl
enable docker
systemctl
enable kubelet
#7)#设置下面的参数(设为0即要求iptables不对bridge的数据进行处理):
cat
>> /etc/sysctl.conf <<EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables
= 1
net.bridge.bridge-nf-call-iptables
= 1
net.bridge.bridge-nf-call-arptables
= 1
EOF
##如果net.bridge.bridge-nf-call-iptables=1,也就意味着二层的网桥在转发包时也会被#iptables的FORWARD规则所过滤,这样就会出现L3层的iptables rules去过滤L2的帧的问题所以涉及一些dnat, snat就不###生效了,举个例子,具体表现在openstack中就是metadata服#务不好使了。这个说法可参见https://bugzilla.redhat.com/show_bug.cgi?id=512206
rpm
-ql kubelet >>/opt/k8s_master_install.log
#8)初始化(注意要记录好最后的token等):
kubeadm config
images pull      ##必须先拉镜像。
sed
-i
"s@KUBELET_EXTRA_ARGS=@KUBELET_EXTRA_ARGS="--fail-swap-on=false"@g"
/etc/sysconfig/kubelet
kubeadm init --kubernetes-version=v1.16.1
--apiserver-advertise-address=172.16.110.111 --pod-network-cidr=10.244.0.0/16
--service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
#以下是最后的输出结果:
#Your Kubernetes control-plane has
initialized 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/config
#sudo chown $(id -u):$(id -g) $HOME/.kube/config
#You 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 172.16.110.111:6443 --token
gmxuck.nybmu19vbe3j7vm8 \
--discovery-token-ca-cert-hash
sha256:99a8e071df1a498bcf0797812640d58edf08fb6a0c6f8f496641021b27d0dbf4
#############################################################################
##查看端口情况,以下是按最后的输出要求操作
ss -ntl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubectl
get cs
kubectl cluster-info
##添加环境变量:
echo "export
KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source 
~/.bash_profile
##失败则要用kubeadm reset重置
# 9)部署网络插件flannel
kubectl apply -f
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
curl
-sSL
"https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml?raw=true"
| kubectl create –f –
##检查:
kubectl
get pods -n kube-system
kubectl get 
nodes
##10)配置文件传到node1、node2(建议先安装好node1\2,同步安装也行)
scp /usr/lib/systemd/system/docker.service
node1:/usr/lib/systemd/system/docker.service
scp
/etc/sysconfig/kubelet node1:/etc/sysconfig/
#11)nodes操作完成后检查:
kubectl
get pods -n kube-system -o wide
kubectl
get nodes
#12)其它维护命令:
kubadm token list systemctl restart kubelet #重启kubelet
kubectl get
componentstatuses //查看node节点组件状态
kubectl get svc -n
kube-system //查看应用
kubectl cluster-info
//查看集群信息
kubectl describe
--namespace kube-system service kubernetes-dashboard //详细服务信息
kubectl apply -f
kube-apiserver.yaml   //更新kube-apiserver容器
kubectl delete -f
/root/k8s/k8s_images/kubernetes-dashboard.yaml //删除应用
kubectl  delete
service example-server //删除服务
systemctl  start
kube-apiserver.service //启动服务。
kubectl get
deployment --all-namespaces //启动的应用
kubectl get pod
 -o wide  --all-namespaces //查看pod上跑哪些服务
kubectl get pod -o
wide -n kube-system //查看应用在哪个node上
kubectl describe pod
--namespace=kube-system //查看pod上活动信息
kubectl describe
depoly kubernetes-dashboard -n kube-system
kubectl get depoly
kubernetes-dashboard -n kube-system -o yaml
kubectl get service
kubernetes-dashboard -n kube-system //查看应用
kubectl delete -f
kubernetes-dashboard.yaml //删除应用
kubectl get events //查看事件
kubectl get
rc/kubectl get svc
kubectl get namespace
//获取namespace信息
kubectl delete node 节点名 //删除节点
k8s搭建实操记录一(master)的更多相关文章
- k8s搭建实操记录干货二(node)
		
#注:172.16.110.111为master,172.16.110.112\114为node1\node2(kubeadm join部分要等master完成后手工操作,其它可执行本脚本一键安装) ...
 - SFUD+FAL+EasyFlash典型场景需求分析,并记一次实操记录
		
SFUD+FAL+EasyFlash典型场景需求分析:用整个flash存储数据,上千条数据,读取得时候用easyflash很慢,估计要检索整个flash太慢了. 改进方法:分区检索. 1存数据时,根据 ...
 - Mysql集群搭建-实操
		
集群安装--准备工作 官网地址 https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-linux-binary.html 一.环境 ...
 - 分布式文件系统FastDFS搭建实操
		
转载---------佳先森--- 一.什么是文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节 ...
 - Hadoop1.2.1 全然分布式集群搭建实操笔记
		
前期准备工作: 1.改动Linux主机名:/etc/hostname ubuntu系统:vi /etc/hostname ...
 - 【Linux】php7.2.8 + xdebug + composer + php代码覆盖率 + jenkins配置   (实操记录,亲测可用)
		
[一.linux安装php 7.2.8] 1.wget http://nginx.org/download/nginx-1.9.9.tar.gz # nginx可不安 ...
 - Mysql MHA(GTID)配置(实操)
		
实现环境 centos6.7 MYSQL5.6.36 主:192.168.1.191 从1:192.168.1.145 从2:192.168.1.146 监测:放在从2上 192.168.1.146 ...
 - ubuntu 18.04 搭建flask服务器(大合集,个人实操)
		
ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...
 - 【强烈推荐,超详细,实操零失误】node.js安装 + npm安装教程 + Vue开发环境搭建
		
node.js安装 + npm安装教程 + Vue开发环境搭建 [强烈推荐,超详细,实操零失误] 原博客园地址:https://www.cnblogs.com/goldlong/p/8027997.h ...
 
随机推荐
- 结构体 偏移量  (size_t)&(((s *)0)->m) , list相关
			
在Windows SDK 的stddef.h 中 #define offsetof(s,m) (size_t)&(((s *)0)->m) 应用例如 #define list_conta ...
 - 接近8000字的Spring/SpringBoot常用注解总结!安排!
			
0.前言 大家好,我是 Guide 哥!这是我的 221 篇优质原创文章.如需转载,请在文首注明地址,蟹蟹! 本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide:http ...
 - Android自绘制控件
			
开发过程中,我们免不了需要用到一些自定义的 View,自定义 View 一般可分为三类: ① 继承类 View —— 一般继承系统以后的基本 View,新增/重置一些自定义属性 ,例如两端对齐的Tex ...
 - 解决ASP.NET WebPage的CS1061报错
			
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pg_CompanyInfo ...
 - commons-logging slf4j log4j 区别
			
日志门面 1.Apache通用日志接口(commons-logging.jar) Apache Commons包中的一个,包含了日志功能,必须使用的jar包.这个包本身包含了一个Simple Logg ...
 - js 箭头函数不适用的场景
			
箭头函数虽然方便但也不是每个地方都适用, 箭头函数在开发中可以十分方便的干预 this的指向,在一些情况下,是不需要对this的指向进行干预的,也就不适用箭头函数 1.构造函数的原型方法上 例如:Pe ...
 - K. Road Widening
			
\(考虑每个区域可行的区间\) \(x[1]=s[1]\ \ y[1]=s[1]+g[1]\) \(x[i]=max(x[i-1]-1,s[i]),y[i]=min(y[i-1]+1,s[i]+g[i ...
 - 一元三次方程 double输出 -0.00
			
求一个 a*x*x*x+b*x*x+c*x+d 的解 题目很简单,但是我输出了-0.00,然后就一直卡着,这个问题以后要注意. 让0.00 编程-0.00的方法有很多. 第一种就是直接特判 if(fa ...
 - 5G新基建到来,图扑推出智慧路灯三维可视化方案
			
前言 作为智慧城市的重要组成部分,智慧灯杆管理系统采用信息化.数字化手段,把路灯及城市景观照明等各种不同对象的监控和数据采集及处理融于一体, 为城市管理者进行城市管理.进行科学决策提供了强有力的手段. ...
 - quartus ii FFT核使用
			
quartus ii FFT核使用 导入自己程序自带的txt文件,写出控制模块 时序图 FFT核文件给出的时序图输入 仿真时序图 1024个采样点数,输入结束 fft数据输出 2.代码 `timesc ...