k8s的安装与部署

资源包(calico.tar.gz,calico.yaml,k8s22images.tar.gz)链接:https://pan.baidu.com/s/1WKXk1v3uIUs3GpKcS11aXQ 
提取码:t8yg 

把这些包都上传到/root/下就可以

环境案例:

192.168.8.10 master01

192.168.8.20 worker01

192.168.8.30 worker02

前提环境三台都需要操作

#修改hosts文件
[root@master01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.10    master01
192.168.8.20    worker01
192.168.8.30    worker02
#设置ssh互信
#修改主机名称
#先修改ip地址
#关闭selinux
[root@master01 ~]# cat /etc/selinux/config
SELINUX=disabled
#关闭防火墙
[root@master01 ~]# systemctl stop firewalld
#配置iptables
[root@master01 ~]# cat /etc/sysctl.d/k8s.conf 
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
#将桥接的IPv4流量传递到iptables的链
[root@master01 ~]# sysctl -p /etc/sysctl.d/k8s.conf 
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: 没有那个文件或目录
net.ipv4.ip_forward = 1
#如果报错则加载模块
[root@master01 ~]# modprobe br_netfilter
#然后在从新执行上一条命令
#关闭swap
[root@master01 ~]# swapoff -a

然后还需要设置时间同步首先需要在master01上设置时间源

[root@master01 ~]# vim /etc/chrony.conf
server ntp.aliyun.com iburst
allow 192.168.8.0/24
[root@master01 ~]# systemctl restart chronyd

然后在其他的两台节点上配置时间指向192.168.8.10

[root@worker01 ~]# vim /etc/chrony.conf
server 192.168.8.10 iburst
[root@worker01 ~]# systemctl restart chronyd

[root@worker02 ~]# vim /etc/chrony.conf
server 192.168.8.10 iburst
[root@worker02 ~]# systemctl restart chronyd

然后所有主机都需要安装docker

如果主机上没有docker-ce源则先配置docker-ce源

[root@master01 ~]# sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果主机上有docker-ce源则直接安装docker就可以,安装docker需要指定版本

[root@master01 ~]# yum install docker-ce-20.10.24 -y
[root@master01 ~]# systemctl start docker
[root@master01 ~]# vim /etc/docker/daemon.json
{  "exec-opts":["native.cgroupdriver=systemd"],  "registry-mirrors": [    "https://19zk62zw.mirror.aliyuncs.com",    "https://hub-mirror.c.163.com",    "https://reg-mirror.qiniu.com"  ]}
[root@master01 ~]# systemctl restart docker

需要下载镜像这里有下载好的镜像 

接下来三台主机都需要导入k8s的镜像(三台都需要)

[root@master01 ~]# docker load  -i calico.tar.gz 
[root@master01 ~]# docker load  -i k8s22images.tar.gz

导入完成之后就在master01上初始化master01节点

[root@master01 ~]# kubeadm init --apiserver-advertise-address 192.168.8.10 --pod-network-cidr 10.244.0.0/16

初始化成功之后会提示一条命令复制这条命令道worker01和worker02上操作

还需要在master01上修改配置文件

[root@master01 ~]# mkdir -p $HOME/.kube
[root@master01 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master01 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
[root@master01 ~]# export KUBECONFIG=/etc/kubernetes/admin.conf

然后根据初始化完成提示的命令在worker01和worker02上添加节点

[root@worker01 ~]# kubeadm join 192.168.8.10:6443 --token eqwmj1.q69dg1g3omzqpwd7 \
        --discovery-token-ca-cert-hash sha256:8153defc32d52ea41e30131abb4c2bade3f2105131b1452c2fe746504c9572f0

[root@worker02 ~]# kubeadm join 192.168.8.10:6443 --token eqwmj1.q69dg1g3omzqpwd7 \
        --discovery-token-ca-cert-hash sha256:8153defc32d52ea41e30131abb4c2bade3f2105131b1452c2fe746504c9572f0

然后在master01上启动calico.yaml文件

[root@master01 ~]# kubectl apply -f calico.yaml

然后在master01上可以看到节点了

[root@master01 ~]# kubectl get node
NAME       STATUS     ROLES                  AGE     VERSION
master01   NotReady   control-plane,master   9m15s   v1.22.17
worker01   Ready      <none>                 7m36s   v1.22.17
worker02   Ready   <none>                 7m      v1.22.17

如果想要在添加一台主机worker03,则需要把这台主机加入到master01的集群里

添加节点

同样这台主机也是需要配置好前提的环境

添加节点我们初始化完成的token的值默认是2个小时如果过期了就执行 kubeadm token create在生成一个新的token值

在worker03上添加就可以

[root@worker03 ~]# kubeadm join 192.168.8.10:6443 --token eqwmj1.q69dg1g3omzqpwd7 \
        --discovery-token-ca-cert-hash sha256:8153defc32d52ea41e30131abb4c2bade3f2105131b1452c2fe746504c9572f0

删除节点

先在需要删除节点的主机上退出节点集群的链接

[root@worker03 ~]# kubeadm reset

然后在master01上删除节点

[root@master01 ~]# kubectl delete node worker03

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于Kubernetes中安装部署Nginx,可以使用Deployment或Pod来实现。 使用Deployment: 首先,创建一个为deploy-nginx.yaml的文件,并在文件中添加以下内容: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx namespace: dev spec: replicas: 3 selector: matchLabels: run: nginx template: metadata: labels: run: nginx spec: containers: - image: nginx:1.17.1 name: nginx ports: - containerPort: 80 protocol: TCP ``` 然后,使用kubectl命令来创建该Deployment: ```shell kubectl apply -f deploy-nginx.yaml ``` 使用Pod: 创建一个名为pod-nginx.yaml的文件,并在文件中添加以下内容: ```yaml apiVersion: v1 kind: Pod metadata: name: nginx namespace: dev spec: containers: - image: nginx:1.17.1 name: pod ports: - name: nginx-port containerPort: 80 protocol: TCP ``` 然后,使用kubectl命令来创建该Pod: ```shell kubectl apply -f pod-nginx.yaml ``` 另外,还可以使用配置方式来安装部署Nginx。创建一个名为nginx.yaml的文件,并在文件中添加以下内容: ```yaml apiVersion: v1 kind: Pod metadata: name: nginx namespace: dev labels: version: "3.0" env: "test" spec: containers: - image: nginx:1.17.1 name: pod ports: - name: nginx-port containerPort: 80 protocol: TCP ``` 然后,使用kubectl命令来创建该Pod: ```shell kubectl apply -f nginx.yaml ``` 这些方法可以根据需要选择其中之一来安装部署Nginx。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【k8s】4、组件](https://blog.csdn.net/hancoder/article/details/118053399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值