




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
k8s操作手册
前言:
1.蓝色字体表示命令行命令,止式执行时不要复制前面的#号,#号只是提示应该使用root
权限操作
2.绿色字体表示注释,有时注释太多就不用绿色表示了
3.注意:本文档的所有操作请先在在测环境进行实践,请不要直接在真实的服务器中操作!
版权声明:
本文档以开源的形式发布,所有条款如下:
1.无担保:作者不保证文档内容的准确无误,亦不承担由于使用此文档所导致的任何后果
2.自由使用:任何人可以出于任何目的而自由地阅读/槌接/打印/转教/引用/出创作此文档,无需任何附加条件
若您阅读/链接/打印/转载/引用/再创作本文档,则说明接受以上2个条款。
作者:李茂福
更新日期:2023-02-23
第。章、K8s集群搭建准备工作
①k8s对系统要求,linux内核在3.10及以上,服务器规格2核cpu,2G内存及以上,可以
装在虚拟机里,也可以装在实体机上
②规划主机名及ip
k8s的服务器使用固定ip地址,配置主机名,要求能解析相应的主机名(master结点)到对
应的ip地址,可以使用内网集群的dns服务器或写入/etc/host$文件里。如:
主机名ip地址
k8s-masterl1
k8s-master22
k8s-master33
k8s-node011
k8s-node022
规划Pod网络:/16
规划Service网络:/16
#hostnamectlset-hostnamek8s-masterl#设置主机名称
#cat»/etc/hosts«EOF
1k8s-masterl
2k8s-master2
3k8s-master3
EOF
③关闭seLinux,若不会配置selinux,则可关闭
#sed-i7ASELINUX/s/enforcing/disabled/'/etc/selinux/config
#setenforce0
®ulimit设置
#cat»vi/etc/security/limits.conf«EOF
*softnofile10C0000
*hardnofile10C0000
*softcoreuniiirited
*hardcoreuniinited
*softmemlockuniimited
*softmemlockuniimited
*softnproc40960
*hardnproc40960
EOF
#要重启系统才生效
⑤关闭swap
#cat»/etc/sysctl.conf«EOF
vm.swappiness=0
EOF
#swapon-s#查看swap挂载情况,如果有swap挂载,则需要去/etc/fstab里取消挂载
@NTP服务需要开启,使用集群内的ntpserver,确保集群时间的一致性
⑦设置网络参数
#cat»/etc/sysctl.conf«EOF
net.bridge,bridge-nf-eall-ip6tables=1
net.bridge,bridge-nf-cal1-iptables=1
net.bridge.bridge-nf-cal1-arptables=1
net.ipv4.ip_forward=1
EOF
#前3行表示bridge设备在二层转发时也去调用iptables配置的三层规则(包含conntrack)
#sysctl-p#加载配置
⑧防火墙放行端口
TCP:6443,2379,2380.10250~10252,30000~32767
UDP:8285,8472
★最好是允许整个k8s的node网段以及pod网段入站
#firewall-cmd-add-rich-rule='rulefamily="ipv4"sourceaddress="/24"accept'
#firewall-cmd--add-rich-rule='rulefamily="ipv4"sourceaddress="/16"accept'
#firewall-cmd-runtime-to-permanent
★如果有硬件交换机做acl或基于云的安全组做访问控制,则可关闭服务器上的防火墙软件
#firewall-cmd--list-all
⑨加载ipvs模块
#cat»/etc/rc.d/rc.local«EOF
modprobe-ip_vs
modprobe-iD_vs_sh
modprobe-ipvsrr
modprobe-ip_vs_wrr
modprobe-nf_conntrack_ipv4
EOF
#chmod+x/etc/rc.d/rc.local#添加可执行权限
⑩安装docker-ce并设置为systemd去管理服务
#yuminstalldocker-cedocker-ce-clicontainerd.io-y
[root@localhost-]#yuminstalldocker-cedocker-ce-clicontainerd.io
#systemctlenabledocker
#systemctlstartdocker
#dockerinfo
★配置docker服务使用systend去管理(以及信任本地镜像仓库)
#vi/etc/docker/daemon.json
{
“data-root”:*/docker_data*,
*registry-mirrors*:[”:5443”],
“insecure-registries":["cofTee.com:5443”],
*exec-opts*:[*native.cgroupdriver=systemd*]
)
#保存
#mkdir-p/etc/systemd/system/docker.service.d
#dockerinfo
NativeOverlayDiff:true
LoggingDriver:json-file
©docker会修改防火墙规则,导致pod网络不通
#vi/usr/lib/systemd/system/dccker.service
在[Service]下的ExecStart=/usr/bin/dockerd-Hfd:〃这行下面添加一行:
ExecStartPost=/usr/sbin/iptables-PFORWARDACCEPT
#保存,
#systemctldaemon-reload
#systemctlrestartdocker
★默认还加了DOCKER-USER这个forward链,默认全部return,导致不通,也得放开,具体
的看下iptables规则)
#cat»/etc/rc.d/rc.local«EOF
sleep60
/usr/sbin/iptables-IDOCKER1-s/0-jACCEPT
/usr/sbin/iptables-1DOCKER-USER1-s/0-jACCEPT
/usr/sbin/iptables-IDOCKER-ISOLATION-STAGE-11-sO.O.O.O/O-jACCEPT
/usr/sbin/iptables-IDOCKER-ISOLATION-STAGE-21-sO.O.O.O/O-jACCEPT
EOF
★最后重启服务器
#init6
#Ismod|grep-eip_vs-enf_conntrack#检查是否已加载ip_vs模块
[root0k8s-master1Ismod|grep-eip_vs-enf_conntrack
ip_vs_wrr126970
ip_vs_rr126000
ip_vs_sh126880
ip_vs1454586ip_vs_rr,ip_vs_sh,ip_vs_wrr
nf_conntrack_netlink363960
nf_conntrack_ipv6189357
nf_defrag_ipv6351041nf_conntrack_ipv6
nf_conntrack_ipv4150537
nf_defrag_ipv4127291nf_conntrack_ipv4
nfconntrack1392649ipvs,nfnatrnfnatipv4rnfnatipv6,xtconntrac
ntracknetlink,nfconntrackipv4,nfconntrackipv6
nfnetlink145193ip_set,nf_conntrack_netlink
libcrc32c126444xfs,ip_vs,nf_nat,nf_conntrack
第1章、master结点安装k8s组件
k8s的组件有部分是以二进制文件形式安装在服务器上的,如kubectl,kubeadm,
kubelet,kubernets-cni之类的,k8s官方已打包为rpm软件包,可配置国内的yum源去安装,
而其他的组件则做成了docker镜像包了,先安装二进制rpm软件包,再dockerpull下较当
前k8s版本需要的镜像包
①安装k8s二进制组件
#cat»/etc/yum.repos.d/k8s-ali.repo«EOF
[k8s-ali]
name=k8s-a)i
baseurl=
enabled=l
gpgcheck=O
EOF
#或者使用google的源:
#cat»/etc/yum.repos.d/k8s-google.repo«EOF
[k8s-google]
name=k8s-goog1e
baseur1=
enabled=l
gpgcheck=O
EOF
#yuminstallkubeletkubeadmkubectlkubernetes-cni-y#安装k8s二进制组件
#systemctlenablekubelet
#systemctlstartkubelet
②k8s集群初始化
#kubeadmversion#先查看k8s版本
(rooc9k8s-mA9terl-]IIrubeadmversion__________
kubeadmversion:aversion.Info(Major:Minor:"19",GitVersion:QB^SfirGitConmit:"d360454
GoVersion:・g:>l・15.2・,C。叩iler:"gc..Platform:・linux/a»d64.}
#看GitVersion:"vl.l9.4"
#kubeadmconfigimageslist#查看k8s其他组件的docker镜像名,默认用
k8s.gcr.io/的镜像源地址
k8s.ger.io/kube-apiserver:v1.19.4
k8s.ger.io/kube-controllei-manager:vl.19.4
k8s.ger.io/kube-scheduler:vl.19.4
k8s.ger.io/kube-proxy:vl.19.4
k8s.ger.io/pause:3.2
k8s.ger.io/etcd:3.4.13-0
k8s.ger.io/coredns:1.7.0
#可以先下载以上7个镜像,传到每台k8s服务器上,再dockerload导入,或者使用内部registry
仓库
★直接使用命令行方式初始化集群:(以下是非HA模式的master初始化,如果要部署高
可用集群,则参考第3章)
kubeadminit-kubernetes-version=vl.l9.4\
-apiserver-advertise-address=1\#apiserver地it
-pod-network-cidr=/16\#pod容器网段
-service-cidr=/16\#service网段,即clusterip网段
-ignore-preflight-errors=Swap#忽略swap未关闭而导致的检查错误
还可使用以下参数指定使用的镜像源:(指定为集群内部的docker镜像源地址,要提前在
docker的daemon.json文件里配置信任)
-image-repository=":5443/k8s"
★使用配置文件方式去初始化集群(和上面命令行方式二选一)
#kubeadmcontigprintinit-defcults>/etc/kubeadm-init.yaml#榆出初始化配置文件,并编辑
#vi/etc/kubeadm-init.yaml
apiVersion:kubeadm.k8s.ic/vlbeta2
boolstrapTokens:
-groups:
-system:bootstrappers:kubeadm:defau1t-node-token
token:abedef.abedef
ttl:24h0m0s
usages:
-signing
-authentication
kind:InitConfiguration
localAPIEndpoint:
advertiseAddress:10.99.1.51
bindPort:6443
nodeRegistration:
criSocket:/var/run/dockershim.sock
name:k8s-masterl
taints:
:-effect:NoSchcdulc
key:node-role,kubernetes.io/master
apiServer:
timeoutForControlPlane:4m0s
apiVersion:kubeadm.k8s.ic/vlbeta2
certificatesDir:/etc/kubernetes/pki
clusterName:kubernetes
controllerManager:{}
dns:
type:CoreDNS
etcd:
local:
dataDir:/var/1ib/etcd
imageRepository:cof-lee.com:5443/k8s
kind:ClusterConfiguration
kubernetesVersion:vl.19.4
networking:
dnsDomain:cluster,local
serviceSubnet:10.7.0.0/16
podSubnct:10.244.0.0/16
scheduler:{}
apiVersion:kubelet.config.k8s.io/vlbetal
kind:KubeletConfiguration
eg•oupDri\er:systemd
faiISwapOn:False
#保存,(修改参数及新增最后5行)
#kubeadmconfigimageslist-config/etc/kubeadm-init.yaml#查看需要的镜像
cof-lee.com:5443/k8s/kube-apiserver:v1.19.4
cof-lee.com:5443/k8s/kube-controller-manager:vl.19.4
cof-lee.com:5443/k8s/kube-scheduler:vl.19.4
cof-lee.com:5443/k8s/kube-proxy:vl.19.4
cof-lee.com:5443/k8s/pause:3.2
cof-lee.com:5443/k8s/eted:3.4.13-0
#叮见镜像名已由默认的k8s.g”io/换成了配置文件里指定的docker镜像源
#kubeadminit-config/e:c/kubeadm-init.yaml#初始化集群
Tostartusingyourcluster,youneedtorunthefollowingasaregularuser:
mkdir-pSHOME/.kube
sudocp-i/etc/kubernetes/admin.confSHOME/.ktibe/config
sudochown$(id-u):$(id-g)$HOME/.kube/config
Youshouldnowdeployapodnetworktothecluster.
RunMk\ibcc^lapply-£[podnctwork].yamlRwx^honoo£theoptionslisted:
https://kubernetes・io/docs/concepts/cluster-administration/addons/
Thenyoucanjoinanynumberofworkernodesbyrunningthefollowingoneachasroot:
pcubeadmjoin10.99.1.51:6443--tok©n27g2rz.fel9tsn7e6oyt8un\
|—discov❷ry-tok❷n-ca-《❷rF-qashsha256:a2818d9ac38a6bba❷£4220《1498065658f8ad2bo439161
当出现YourKubernetescontro-planehasinitializedsuccessfully!这行时说明初始化k8s成功了
记住最后2行命令,是用来让node结点加入集群的命令(含token)
③k8s认证文件.kube/config
在刚刚安装好的master结点上有操作整个k8s集群的认证文件/etc/kubernetes/admin.conf
把它复制到需要使用kubectl命令的节点上的$1101\/^/.1<此0/目录下并命令为config即可
[root8k8s-master1,*]f
[root0k8s-master111/etc/kubernetes/admin.conf
-rw---------.1rootroot5562Apr3006:45/etc/kubernetes/admin.conf
(root@k8s-masterl-]#mkdir-/.kube
[root@k8s-master1*]#cp/etc/kubernetes/admin.conf*/.kube/config
#mkdir~/.kube
#cp/etc/kubernetes/admin.conf~/.kube/config
[root6k8s-master1*]*
NAMESPACENAMEREAD:tSTATUSRESTARTSAGE
kube-systemcoredns-67bd7b9595-5npsn0/1Ponding06m23s
kube-systemcoredns-67bd7b9595-kkszl0/1Pending06m23s
kube-systemetcd-k8s-masterl-1/1Running06m38s
kube-systemkube-apiserver-k8s-masterl1/1Running06m38s
kube-systemkube-controller-manager-k8s-masterl1/1Running06m386
kube-systemkube-proxy-rssd71/1Running06m23s
kube-systemkubo-schGduler-k8s-mastorl1/1Running06m38s
如果有2个coredns的pod未启动就绪,因为pod网络组件还未部署,部署后再查看,如果
还未用动,则可能是网络不通,防火墙要放通pod容器网段入站。
©service使用ipvs模式
#kubectleditcmkube-proxy-nkube-system#编辑confgMap
找至ljkind:KubeProxyConfiguration这行往下第2行的mode:在""写入ipvs,保存退出
42kind:KubeProxyConfiguration
43metricsBindAddress:""
44mode:Mipvs|j
45nodePortAddresses:null
46oomScoreAdj:null
(前提是在准备工作时已加载ipvs内核模块)
再删除kube-proxy的所有pod(即重启这些pod)
#kubectlgetpod-nkube-system|grepkube-proxy#仓看名为kube-proxy*:J{Jpod
[root@k8s-masterl~】
kube-proxy-rssd71/1Running01
#kubectldeletepodkube-proxy-rssd7-nkube-system#册」除pod
开启了ipvs模式的k8s结点上ipadd会看到名为kube-ipvsO的接口名
voxxdXX.ULUX.DVD1口X.D1.DX.口
4:dummy。:<BROADCAST/NOARP>mtu1500qdiscnoopstateDO
link/etherle:03:Qd:cf:df:59brdff:ff:ff:ff
:IWHWSSB:<BROAD(AST,NOARP>mtu1500qdiscnoopstat
link/etherda:a4::9:9e:ac:78brdff:ff:ff:ff
inet0/32scopeglobalkube-ipvsO
valid_lftforexerpreferred_lftforever
inet/32icopeglobalkube-ipvsO
vaiid_ltttoreverpreferred_lftforever
⑤部署flannel网络插件
flannel源码地址:
flannel使得跨主机的Pod之间能通信,底层实现是使用了vxlan
#wget
#先下载flannel插件的k8s部署yml文件
#vikube-flanneLyml
#将里面的net-conf.json下面的Network网段改为规划的pod网段
Ii.
1263nct-conf.json:|
127i{-------------------------
128"Network":"/16"
1295--•■•Backend":4
130卜•丁•"Type":"vxlan"
131\\}
^■L-}
1QQ一
#默认使用的docker镜像是quay.io/coreos/的仓库,可改为自己集群的docker仓库
168$-name:install-cni
169image:quay,io/coreos/flannel:vO.13.0
170command:
171-cp
172args:
173--f
174-/etc/kube-flannel/cni-conf.json
175-/etc/cni/net.d/10-flannel.conflist
176volumeMounts:
177-name:cni
178mountPath:/etc/cni/net.d
179-name:flannel-cfg
180mountPath:/etc/kube-flannel/
181containers:
182i-name:kube-flannel
183image:quay,io/coreos/flannel:vO.13.0
184command:
保存,退出
#kubectlapply-fkube-flannel.yml#应用flannel配置
[root®k8s-master1kubectlapply-fkube-flannel.yml
podsecuritypolicy.policy/psp.flannel.unprivilegedcreated
clusterrole.rbac.authorization.k8s.io/flannelcreated
clusterrolebinding.rbac.authorization.k8s.io/flannelcreated
serviceaccount/flannelcreated
configmap/kube-flannel-cfgcreated
daemonset.apps/kube-flannel-ds|created|
如果pod启动失败了,查看日志
#kubectllogskube-flannel-ds-24tfm-nkube-system
1043011:16:34.5059521main.go:518]DeterminingIPaddressofdefaultinterface
E043011:16:34.5060621main.go:204]Failedtofindanyvalidinterfacetouse:failedto
getdefaultinterface:Unabletofinddefaultroute
原因是没有找到有效的网卡,因为默认没有在kube-flannel.yml指定vxlan的网卡,所以它根
据iprouteshow去查找defaultvia这行的网卡(有默认路由的网络接口),但我们测试环境
的服务器没有配置网关,所以它找不到默认路由,导致flannel启动失败
110申"plugins":[
111■{
112"type":"flannel1,,
1136"delegateR:{
114"hairpinM^de”:true,
115"isDcfaultGatcwayl":true
1161
解决方法是给服务加个网关(默认路由)或者在kube-flannel.yml里指定vxlan绑定的网K设
备(不建议直接绑定网络接口名,因为不同的服务器接口名不太一样,可匹配ip网段所在
的网络接口)
#kubectldelete-fkube-flannel.yml#先删除III的部署pod
#再在kube-flannel.yml部署配置文件里的-/opt/bin/flanneld下面的
args:这行下面再添加一行配置--iface-regex=10.99.1.*匹配要通信的ip网段
I--2一
X8
13-name:kube-flannel
A8image::5443/k8s/flannel:v0.13.0
XI84
185"command:
A:/gpt/bin/flanneld
±186
8
17
188-----ip-masq
±8
T9-----kube-subnet-mgr
1cI-----iface-regex=10.取L*
1八
#最后重:新部署flannel的deployment文件
#kubectlapply-fkube-flannel.yml
[root@k8s-masterl*]fkubectlgetpod-A
NAMESPACENAMEREADYSTATUSRESTARTSAGE
kube-systemcoredns-67bd7b9595-5npsn0/lRunning049m
kube-systemcoredns-67bd7b9595-kkszl0/lRunning04
kube-systemetcd-k8s-masterll/lRunning049m
kube-systemkube-apiserver-k8s-masterll/lRunning049m
kube-systemkuba-ccn七rc】lar-mAnagar-kHa-mmarlRunning-049m
kxibe-systemJI・—Jo3ml£
----------------
#可见flannel的pod启动了
#ip-dlinkshowflannel.l#查看vxlan信息,默认使用8472/udp端口
(root9k8s-masterl-*]#ip-dlinkshowflannel.1
6:flannel.l:<BROADCASTrMULTICAST,UP,LOWER_UP>mtu1450qdiscnoqueuestateUNKNOWN
:ff:ff:ff:ffproniscuity0
8t1■山小-report00dstport8472nolearningageing
oesumrxaddrgenmodeeui64nimtxqueues1numrxqueues1gso_nax_size65536gso_max_seg:
第2章、Node结点安装k8s组件并加入集群
node结点同master结点一样也要做准备工作,都是第0章的内容
准备工作做好后,安装k8s二进制包
#yuminstallkubeletkubeadmkubectlkubernetes-cni-y#安装k8s.二进制组件
#systemctlenablekubelet
#systemctlstartkubelet
再加入K8S集群(使用安装第一个k8s的master结点时的最后2行命令kubeadmjoinxxx)
不过这命令的token默认是2小时有效期,可重新生成token再去node结点上执行
masteC结点#kubeadmtokengenerate#重新生成token,下面这•半字符
ka8k02.9f2uowba7j21qv0g
masterl结点#kubeadmtokencreateka8k02.9f2uowba7j21qv0g-print-join-command
#生成加入集群的命令
(root!k8s-mastorl*]0卜卷
“043010:24:01.1068563S70Suonnon.go:148]WARNINGzcouldnotobtainAbindAddzossforthoAPXSorvorznodo
faultroutosfoundin"/proc/not/rouzo"or*/proc/n®t/ipvS-routo";using:0.0.0.0
“043010:24:01.2S84423S70Sconfigiot.go:348]WARNING:kuboadmcannotvalidatoconponontconfigsforAPIgrou
p«Ikubolot.confiq.k8c.iokubQproxy.confiq.kBs,io)
Ikuboactaijoin10.99.1.51:6443—tokonka8k02.9f2uowba?j21qv0g—discovory-tokon-ca-cort-hashsha2S6:a2818d9a
|c38a6bba«f4220c849806S6S8f8ad2b04391501220b«3«11006c0f97
kroot・k8ig-asC0r1~】f■
再复制(kubeadmjoinxxxxx)命令到node结点上执行:
node结点执行#kubeadmjoin1039.1.51:5443-xokenka8k02.9f2uowba7j2iqv0g\
••discovery-token-cacert-hashSha256:a2818d9ac38a6bbaef4220cf8ad2bbe3ell006c0f97
出现:Thisnodehasjoinedthecluster:这句提示说明加入成功,再去master结点上查看
[root@k8s-masterlkubectlgetnode#杳看集聚的所有结点
NAMESTATUSROLESAGEVERSION
k8s-masterlReadymaster3h49mvl.19.4
k8s-node01Ready<ncne>16svl.19.4#刚刚加入集群的node结点
★将node结点移出k8s集群
master#kubectltaintnode给点名keyrm:NoExecute也先打上污点,驱逐pod
等几分钟,确认目标node结点上没有工作pod运行后,再删除
master结点上#kubectldeletenodes结点、名#将目标结点从集机里删除
node结点上#kubeadmreset#node结点上重置kubeadm配置
第3章、K8s高可用集群搭建
前面第1章只装了一台master结点,如果它出故障了,则整个k8s集群都不可用了,
需要部署至少3台master结点,准备工作一样都同第0章,只是还要规划一个vip(虚拟ip)
在master的集群初始化这步需要指定control-plane-endpoint地力上为规戈ij的vip,前端的vip
可以使用任何负载工具软件,反向代理到后端的每台master结点的6443/tcp端口即可。
高可用集群拓扑图:
反向转发到
1:6443master1
客户送访问
4:6443
反向转发到
2:6443
VIP设备:监听6449tcp
vip:4
VIP设备本身可有多台,master2
反向转发到
虚拟出一个vip来
3:6443
★先配置HA高可用的反向代理
本例中vip为4(三台masterip为1~53)使用haproxy做反向代理
frontendk8s_api_tcp_6443
bind*:6443
modetcp
default_backendmy_k8s_6443
backendmy_k8s_6443
modetcp
balanceroundrobin
serversi1:6443checkweight1inter2000rise2fall2
servers22:6443checkweight1inter2000rise2fall2
servers33:6443checkweight1inter2000rise2fall2
#如果vip设备就在这3台master结点上,则监听的端口不能为6443,否则冲突了,可改为
其他端口号
★先安装masterl
★使用命令行方式初始化集群
kubeadminit-kubernetes-version=vl.l9.4\
--apiserver-advertise-address=1\#apiserver十也址,masterl的nodeip
--pod-network-cidr=/16\#pod容器网段
-service-cidr=/16\#service网段,即clusterip网段
-image-repository=":5443/k8s"\#指定镜像源
-control-plane-endpoint=4:6443\#指定控制面板vip与端口号
-ignore-preflight-errors=Swap\#忽略swap未关闭而导致的检瓷错误
-upload-certs#在后续执行加入节点时自动分发同步证巾
文件
★使用配置文件方式去初始化集群(和上面命令行方式二选一)
#kubeadmconfigprintinit-defcults>/etc/kubeadm-init.yaml#输出初始化配置文件并编辑
#vi/etc/kubeadm-init.yaml
apiVersion:kubeadm.k8s.ic/vlbeta2
bootstrapTokens:
-groups:
-system:bootstrappers:kubeadm:default-node-token
token:abcdef.abcdef
111:24h0m0s
usages:
-signing
-authenlication
kind:InitConfiguration
localAPIEndpoint:
advertiseAddress:10.99.1.51
bindPort:6443
nodeRegistration:
criSocket:/var/run/dockershim.sock
name:k8s-masterl
taints:
-effect:NoSchedule
key:node-role,kubernetes.io/master
apiServer:
timenutForContro1P1ane:4m0s
apiVersion:kubeadm.k8s.ic/vlbeta2
certificatesDir:/etc/kubernetes/pki
clusterName:kubernetes
contolFUanc:dpoint.10.99.1.54;0443"
conlro11erManager:(}
dns:
type:CoreDNS
ctcd:
local:
dataDir:/var/1ib/etcd
imageRepository:cof-lee.com:5443/k8s
kind:ClustcrConfiguration
kubernetesVersion:vl.19.4
networking:
dnsDomain:cluster,local
serviceSubnet:10.7.0.0/16
podSubnet:10.244.0.0/16
scheduler:{}
apiVersion:kubelet.config.k8s.io/vlbetal
kind:KubeletConfiguraiion
cgroupDriver:systemd
failSwapOn:False
#保存
#kubeadmconfigimageslist-config/etc/kubeadm-init.yaml#杳行需'法的镜像
#kubeadminit--config/e:c/kubeadm-init.yaml--upload-cels#初始化集群
KunKuoectiapply-tipounetworKj.yami-witnoneortneoptionslistedat:
hl【ps://kubpmeles.io/docs/concepts/cluster-adminislration/addons/
Youcannowjoinanynumberofthecontrol-planenoderunningthefollowingcommandoneachasroot:
liscoverjr-token-ca-cert-hashsha.
-control-plane--certificate-key9b77643809b701522a61c109d42d«
Asasjfetujrd,uploaded-certswillbedeletedintwohours;Ifnecessary»youcanuse
Mkubeadminitphaseupload-certs-upload-certsMtoreloadcertsafterward.
Thenyoucanjoinanynumberofworkernodesbyrunningthefollowingoneachasroot:
kubeadmjoin4:6443—tokenabedef.0123456789abcdef\
--discoverj^token-ca-cert-hashsha256:63b5f34842ec20dbl2fl9f6f4ca535b03€498e95842b97b452a04f9dc94bll51
Node结点加入集群时执行的命令
kubeadmjoin4:6443-tokenabcdef.abcdef\
-discovery-token-wcert-hashsha256:63b5f34842ec2Odbl2fl9f6f4ca535bO3e498e95842b97b452aO4f9dc94bU51\
-control-plane--certificate-key9b776438>J9b701522a61cl09d42dcclb93edcd5a2e5d0cbbc0e619
kubeadmjoin4:6443-tokenabcdef.abcdef\
-discovery-token-ca-cert-hashsha256:63b5f34842ec20dbl2fl9f6f4ca535b03e498e95842b97b452a04f9dc94bll51
#mkdir~/.kube
#cp/etc/kubernetes/admin.conf~/.kube/config
★再参考第一章的以下2步:
©service使用ipvs模式
⑤部署flannel网络插件
完成以上配置,再将master2,master3加入集群
#如果执行加入命令时提示certificate-key过期了,执行以下命令更新:
#kubeadminitphaseupload-certs-upload-certs
W050812:00:11.26548839063configset.go:348]WARNING:kubeadmcannot
nfig.k8s.iokubeproxy.config.k8s.io]
[upload-certs]StoringthecertificatesinSecret"kubeadm-certs"inthe
[upload・certs]Usingcertificatekey:
■「rcctaicclhcL■
将新生成的certificatekey替换II」的
#kubectl-nkube-systemgetcmkubeadm-config-oyaml#杳看集群配置
★etcd的配置更新
第3个master加入集群后,其etcd的配置是有3台成员结点,而前面的master!上面只有
一台的信息,ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一年级语文新人教版知识点总结
- 一年级【部编语文】一年级下册总复习∶阅读理解(提高)知识讲解及答案
- 带娃背诗有“套路”
- 2025-2030年中国RCA测试纸行业深度研究分析报告
- 生铁炼制项目可行性研究报告(技术工艺+设备选型+财务方案+厂区规划)方案
- 国道绍兴东湖至蒿坝段改建工程环境影响评价报告书
- 中国滑雪鞋未来趋势预测分析及投资规划研究建议报告
- 化妆学徒合同范本
- 2025年新型热塑弹性体防水卷材成型设备项目发展计划
- 贷款服务合同范本模板
- 济南2024年山东济南广播电视台招聘14人笔试历年参考题库附带答案详解
- 海洋气候预测模型创新研究-深度研究
- 《客户服务基础》教案及课件项
- 公路工程节后复工安全教育
- 小王子-英文原版
- T-CHTS 10021-2020 在役公路隧道长期监测技术指南
- AQ/T 2061-2018 金属非金属地下矿山防治水安全技术规范(正式版)
- 北师大版六年级下册书法练习指导教案教学设计
- 《饲料质量安全管理规范》培训2022年
- 新概念二册课文电子版
- 管理学原理(南大马工程)
评论
0/150
提交评论