k8s安装cailico

原文:k8s安装calico网络 - 简书

因为在整个kubernetes集群里,pod都是分布在不同的主机上的,为了实现这些pod的跨主机通信所以我们必须要安装CNI网络插件,这里选择calico网络。

步骤1:在master上下载配置calico网络的yaml。

[root@master01 ~]# wget https://docs.projectcalico.org/v3.14/manifests/calico.yaml --no-check-certificate
输出….
 [root@master01 ~]# ls
anaconda-ks.cfg  calico.yaml

步骤2:修改calico.yaml里的pod网段。

把calico.yaml里pod所在网段改成kubeadm init时选项--pod-network-cidr所指定的网段,
直接用vim编辑打开此文件查找192,按如下标记进行修改:
# no effect. This should fall within `--cluster-cidr`.
# - name: CALICO_IPV4POOL_CIDR
#   value: "192.168.0.0/16"
# Disable file logging so `kubectl logs` works.
- name: CALICO_DISABLE_FILE_LOGGING
value: "true"
把两个#及#后面的空格去掉,并把192.168.0.0/16改成10.244.0.0/16
# no effect. This should fall within `--cluster-cidr`.
- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16"
# Disable file logging so `kubectl logs` works.
- name: CALICO_DISABLE_FILE_LOGGING
value: "true"

改的时候请看清缩进关系,即这里的对齐关系。

步骤5:提前下载所需要的镜像。

查看此文件用哪些镜像:
[root@master01 ~]# grep image calico.yaml
image: calico/cni:v3.14.0
image: calico/cni:v3.14.0
image: calico/pod2daemon-flexvol:v3.14.0
image: calico/node:v3.14.0
image: calico/kube-controllers:v3.14.0
[root@master01 ~]#

在所有节点(包括master)上把这些镜像下载下来:

[root@master01 ~]# for i in calico/cni:v3.14.0 calico/pod2daemon-flexvol:v3.14.0 calico/node:v3.14.0 calico/kube-controllers:v3.14.0 ; do docker pull $i ; done
...大量输出...
[root@vmsX ~]

步骤3:安装calico网络。
在master上执行如下命令:

[root@master01 ~]# kubectl apply -f calico.yaml
...大量输出...
[root@vms10 ~]#

步骤4:验证结果。
再次在master上运行命令 kubectl get nodes查看运行结果:

[root@master01 ~]# kubectl get nodes
NAME       STATUS   ROLES                  AGE   VERSION
master01   Ready    control-plane,master   21h   v1.23.4
worker01   Ready    <none>                 16h   v1.23.4
worker02   Ready    <none>                 16h   v1.23.4
[root@master01 ~]# 
可以看到所有节点的状态已经变为是Ready了。

测试k8s集群

[root@master01 ~]# kubectl create deployment nginx --image=nginx
deployment.apps/nginx created
[root@master01 ~]# kubectl expose deployment nginx --port=80  --type=NodePort
service/nginx exposed
[root@master01 ~]# kubectl get pod,svc
NAME                         READY   STATUS             RESTARTS   AGE
pod/nginx-85b98978db-2lsms   0/1     ImagePullBackOff   0          32s

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
service/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        21h
service/nginx        NodePort    10.96.20.147   <none>        80:30536/TCP   8s



作者:ruiliu
链接:https://www.jianshu.com/p/2c436a0ffe7f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值