POD跨主机不能访问

最近论坛里面发现有小伙伴POD之间跨主机不能访问,自己使用脚本搭建偶尔也有同样的情况,由于没有多余的时间查看这个问题,就搁置了很久,今天又遇到了这个问题,决定吧这个问题高清楚 先来起个http服务用来测试 kubectl run t-server --image vinkdong/defaultbackend:1.4 --overrides='{"spec":{"template":{"spec":{"nodeName":"vk005"}}}}' 在两个节点上启动测试POD,拆成两个窗口执行 kubectl run t-04 -ti --image vinkdong/net-tools bash --overrides='{"spec":{"template":{"spec":{"nodeName":"vk004"}}}}' kubectl run t-05 -ti --image vinkdong/net-tools bash --overrides='{"spec":{"template":{"spec":{"nodeName":"vk005"}}}}' 效果如图显示t-04无法访问在vk005上的的服务 开始查找问题 根据经验检查Kernel IP forwarding # check that ipv4 forwarding is enabled sysctl net.ipv4.ip_forward # 0 means that forwarding is disabled net.ipv4.ip_forward = 1 sysctl -w net.ipv4.ip_forward=1 测试之后还是无法访问 检查Bridge-netfilter # check that bridge netfilter is enabled sysctl net. »

在rancher界面上安装choerodon猪齿鱼

在kubecon大会上rancher是一个热点项目,目前rancher使用人数在不断增长,目前choerodon可以通过下面几个步骤在rancher上轻松的安装。 准备一个域名 安装前要准备一个域名方便访问,如果使用国内公有云,域名要备案之后才可以用,这是天朝的规定~, 准备好域名之后添加一个泛解析如*.your.domian 的A记录解析到服务中,如果是rancher搭建的集群解析到控制节点即可。 创建choerodon项目 添加好仓库之后,左上角选择你要用来部署choerodon的集群,选择之后点击左上角添加项目, 项目名填写:猪齿鱼 创建完成后添加一个命名空间:c7n-system,这里命名空间不建议使用其他名字,防止意想不到的问题 部署应用 回到导航栏选择应用商店,进入之后可以看到一些应用,如果没看到的话点击右上角启用按钮 部署存储类,如果您之前部署过nfs-provisioner可以跳过这一步 右上角搜索nfs,能够看到有nfs-provisoner,这里我们选择rancher官方的nfs-provisioner,点击查看详情然后拉倒底部点击应用即可,这个应用使用了quar.io的镜像库,国内拉取可能比较慢,这里可以手动指定我推到阿里云的镜像,详细过程看下面的动图,注意要勾选创建存储类: 镜像地址: registry.cn-shanghai.aliyuncs.com/vinkdong/nfs-provisioner 打开kubectl执行窗口,后边的命令都在这个窗口中执行,不知道kubectl在哪可以看下边的动图 部署helm tiller choerodon使用helm安装,需要先安装个helm tiller curl -sL -H "Referer: https://vinkdong.com/" \ https://static.vinkdong.com/yml/tiller.yml | kubectl apply -f - 安装choerodon记得吧DOMAIN的值改为您的泛域名,注意不用添加*. export DOMAIN=your.domian curl -sL -H "Referer: https://vinkdong.com/" \ https://static.vinkdong.com/yml/install-choerodon.yml | sed "s/example.com/${DOMAIN}/g" | kubectl apply -f - 一般情况下等待半个小时左右安装完毕 如何查询安装进程: 左上角下拉框选择猪齿鱼项目后可以看到启动了很多服务,往下拉找到install-choerodon点击进去即可看到日志 »

openshift oc使用管理员登录

添加kubeconfig的环境变量 KUBECONFIG=$(pwd)/openshift.local.config/master/admin.kubeconfig oc登录指定config文件 oc login -u system:admin -n default --config=$KUBECONFIG 使用管理员权限操作 oc your command --config=$KUBECONFIG Openshift常用操作: - oc delete DaemonSet --all : 删除所有DammonSet 查看编辑执行权 - oc get scc - oc edit scc restricted 项目赋权给用户 - oadm policy add-role-to-user admin \<user> -n \<project> 绑定主机 annotations: scheduler.alpha.kubernetes.io/affinity: >- {"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"kubernetes.io/hostname","operator":"In","values":["rdchitsm"]}]}]}}} 绑定主机目录 hostPath 授权集群管理员 oc adm policy add-cluster-role-to-user cluster-admin -z test -n test »

openshift使用pv和pvc

创建pv配置文件 vim t_pv.yml --- apiVersion: v1 kind: PersistentVolume metadata: labels: use: fluent-bit-config name: fluent-bit-config spec: accessModes: - ReadWriteMany capacity: storage: 10Mi nfs: path: /app/data/fluent-bit/config server: nfs.vinkdong.com 应用pv文件 oc apply -f t_pv.yml 查看是否成功创建 oc get pv fluent-bit-config 10Mi RWX Retain Bound ... 创建pvc: vim t-pvc.yml --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: fluent-bit-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Mi selector: matchLabels: use: fluent-bit-config 应用pvc »

docker Swarm,docker stack

docker使用自有集群Swarm使用场景较少,这里写个简单的示例,集群推荐使用kubernetes,docker在未来将原生支持kubernetes 启用Swarm docker swarm init --advertise-addr 192.168.99.100 加入一个工作节点 docker swarm join \ --token SWMTKN-1-22qet9fb8lhgmfj06dbz9pf6ed0g6y1hmug24xb9iosevpfgws-e3hfqm8e0lm73vnw83nxq720d \ 192.168.99.100:2377 生成Token docker swarm join-token manager 加入一个Manager节点 docker swarm join \ --token SWMTKN-1-22qet9fb8lhgmfj06dbz9pf6ed0g6y1hmug24xb9iosevpfgws-bl2esy7m2h9uwgl8xsyhhk96q \ 192.168.99.100:2377 编写stack.yml文件 version: '3.1' services: zoo1: image: zookeeper hostname: zoo1 ports: - 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo2: image: zookeeper hostname: zoo2 ports: - 2182:2181 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo3: image: zookeeper hostname: zoo3 ports: - 2183:2181 environment: ZOO_MY_ID: 3 ZOO_SERVERS: server. »