顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - netman

頁: [1] 2 3 ... 497
1
不知道 dhcp relay 有沒有設好?

2
Switching Cluster Using Context

Ref:
https://stackoverflow.com/questions/42170380/how-to-add-users-to-kubernetes-kubectl
https://kubernetes.io/docs/reference/access-authn-authz/rbac/
https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/
https://github.com/kubernetes/dashboard/wiki/Creating-sample-user

Steps:

===== on master =====

1. create service acount:
代碼: [選擇]
cat > kenny_sa.yaml << END
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kenny
  namespace: kube-system
END
cat > kenny_clusterrole.yaml << END
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kenny
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'
END
cat > kenny_rolebinding.yaml << END
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kenny
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kenny
subjects:
- kind: ServiceAccount
  name: kenny
  namespace: kube-system
END
kubectl create -f  kenny_sa.yaml
kubectl create -f kenny_clusterrole.yaml
kubectl create -f kenny_rolebinding.yaml

2. achieve and transfer access environment
代碼: [選擇]
u_name=$(kubectl -n kube-system get sa kenny -o jsonpath='{.secrets[].name}')
kubectl -n kube-system get secrets $u_name -o jsonpath='{.data.ca\.crt}' | base64 -d > kenny_ca.crt
kubectl -n kube-system get secrets $u_name -o jsonpath='{.data.token}' | base64 -d > kenny_token
name=$(kubectl config get-contexts $(kubectl config current-context) | tail -n 1 | awk '{print $3}')
kubectl config view -o jsonpath="{.clusters[?(@.name == \"$name\")].cluster.server}" > endpoint
scp scp kenny_token kenny_ca.crt endpoint <console_node>:

======== on console node ========
1. set env
代碼: [選擇]
endpoint=$(cat endpoint)
user_token=$(cat kenny_token)

2. set  context
代碼: [選擇]
kubectl config set-credentials kenny --token=$user_token
kubectl config set-context kenny-testlab --cluster=testlab --user=kenny --namespace=default
kubectl config use-context kenny-testlab

3. use context
代碼: [選擇]
kubectl config use-context kenny-testlab
kubectl config view
kubectl get nodes

Summary:
* on master:
  - create ServiceAccount, ClusterRole, RoleBinding
  - achieve and transfer env to console node: ca.crt, token, endpoint
* on console node:
  - set up cluster, credentials, context
  - run use-context

3
Building Kubernetes Cluster on CentOS7

* OS:
Centos 7.6 (1810)

* Nodes:
  master:
    node1: 192.168.1.1
  workers:
    node2: 192.168.1.2
    node2: 192.168.1.3

* Pre-configuration:
  - firewalld: disabled
  - selinux: disabled
  - dns or /etc/hosts: configured

* Steps
### Ref: https://www.howtoforge.com/tutorial/centos-kubernetes-docker-cluster/

1. update packages:
yum update -y
reboot

2. enable br_netfilter:
echo br_netfilter > /etc/modules-load.d/br_netfilter.conf
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf

3. turn off swap:
swapoff -a
sed -i '/^[^ ]\+ \+swap \+/s/^/#/' /etc/fstab

4. install docker-ce:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce

5. install kubernetes:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
### Notes: gpgcheck=1 may not work while installing kubeadm, otherwise keep it to 1 if it works.
yum install -y kubelet kubeadm kubectl

6. reboot OS:
reboot

7. start and enable services:
systemctl start docker && systemctl enable docker
systemctl start kubelet && systemctl enable kubelet

8. fix cgroupfs issue:
kadm_conf=/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
grep -q 'KUBELET_KUBECONFIG_ARGS=.* --cgroup-driver=cgroupfs"' $kadm_conf || sed -i '/KUBELET_KUBECONFIG_ARGS=/s/"$/ --cgroup-driver=cgroupfs"/' $kadm_conf
systemctl daemon-reload
systemctl restart kubelet

### Note: run above steps on all nodes (both master and workers)

9. enable master (Run on node1 only):
kubeadm init --apiserver-advertise-address=192.168.1.1 --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
### Nodes: copy the 'kubeadm join 192.168.1.1:6443 --token XXXXXXXXXXX' line from the outputs and save it to a text file

10. verify the master nodes:
kubectl get nodes
kubectl get pods --all-namespaces

11. enable workers (Run on node2 & node3 only):
### paste the command line which was copied from master:
kubeadm join 192.168.1.1:6443 --token XXXXXXXXXXX...

12. verify nodes (Run on node1):
### you may have some thing like below:
[root@node1 ~]# kubectl get nodes
NAME                STATUS   ROLES    AGE    VERSION
node1.example.com   Ready    master   12m    v1.13.1
node2.example.com   Ready    <none>   4m9s   v1.13.1
node3.example.com   Ready    <none>   35m    v1.13.1


* Dashboard:
### Ref:
###     https://github.com/kubernetes/dashboard
###     https://github.com/kubernetes/dashboard/wiki/Creating-sample-user

1. create dashbord:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
kubectl proxy

2. create admin user:
cat > dashboard-adminuser.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system
EOF
cat > rolebinding.yaml << EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system
EOF
kubectl apply -f dashboard-adminuser.yaml
kubectl apply -f rolebinding.yaml

3. view and copy login token:
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') | awk '/^token:/{print $2}'

4. access dashboard:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
### select 'Token' and paste the the login token

--- end ---

4
https://studyarea.kktix.cc/events/2f263587-77f30d-4e6ea6-61e384-0eb2e5-3badd7-aba8c0-03756d-188891-copy-2
2019 1月份 SA@Tainan 1/20(日) GitLab 與 Git LFS 介紹

活動議題: GitLab 與 Git LFS 介紹

講師: HaWay

簡介:
Git 的缺點之一是無法在儲存庫中加入大型檔案, 因為大型檔案送入儲存庫之後,會造成所有人都必須複製一份副本,而隨者時間會越來越肥大。 後來 GitHub 推出 Git LFS 系統來針對大型檔案可以一同推送入程式庫中,但又可以避免無謂的副本複製。 本月我們來介紹 Git LFS 工具,看看它是如何運作的,並且也會分享一些 GitLab 的使用。

議程:
14:00 ~ 14:15 入場;報到
14:15 ~ 15:15 [贊助商議程]
15:15 ~ 15:30 休息
15:30 ~ 17:00 GitLab & Git LFS

[贊助商議程]
本次活動講師車馬費由 Gandi.net 贊助,並同時與大家介紹網域名稱的相關技術,主題未定,隨後更新。

時間:2019/01/20 (日) 14:00~17:00
地點:成功大學成功校區資訊工程學系資訊新館65203教室(二樓電腦教室)/  台南市東區大學路一號

地理位置/交通路線:
     從台南火車站後站出來沿著大學路直走到長榮路左轉小走一段路就看的到會旗囉!
     http://www.csie.ncku.edu.tw/ncku_csie/intro/traffic
     http://www.csie.ncku.edu.tw/ncku_csie/images/ncku/map.png

費用: 免費

主辦單位:
Study area酷!學園

協辦單位:
國立成功大學資訊工程學系

6
全部刪除再裝看看?

7
活動/聚會區 / Re: 1/20 聚餐報名
« 於: 2019-01-09 12:00 »
已訂位:臺南focus鬥牛士二鍋,1/20星期天晚上6點,陳先生10位。

8
活動/聚會區 / 1/20 聚餐報名
« 於: 2019-01-05 13:12 »
1/20 有要聚餐的來這裏報名哦...
打算吃臺南focus的鬥牛士二鍋,先統計人數訂位。

----
netman +1
鳥哥 +1
haway +3
翔哥 +1
dean +1
清輝 +3

9
如果想瞭解開機程序,倒是可以透過更新kernel以及修改grub來練習,以及自己撰寫systemd的開機服務...
相對而已,這對日後的linux除錯有很大幫助。

10
一開始就挑戰這麼陡的門檻確實有點難度...
說實在的,現實的環境中很少會用到多重引導開機,不如先跳過這坎,等到對 Linux 已經有一定熟悉程度了,再重新挑戰。
不是放棄,只是換個順序而已~~ 加油!

12
Linux 討論版 / Re: https问题求助!!!!
« 於: 2018-11-09 17:06 »
/var/log/httpd/error_log 有啥發現?

13
Linux 討論版 / Re: 請問最簡單的webmail
« 於: 2018-11-09 17:04 »
如果要直接解讀 /var/spool/mail 內檔案可能會有點困難

因為那是一個單大容量文字檔,信件都放在一起,讀入檔案再進行切割解讀信件應該是一件很耗硬體資源的事情

我無聊的時候寫個 php 測試看看

換成 maildir 會不會好些?

14
Linux 討論版 / Re: shell 問題
« 於: 2018-11-01 13:09 »
執行前找 pid 存不存在?

那要先找個機制來記錄 PID 才行...

15
Linux 討論版 / Re: shell 問題
« 於: 2018-10-29 10:26 »
lock file 通常會搭配 trap 以及 boot up script 來清除

16
Linux 討論版 / Re: shell 問題
« 於: 2018-10-26 15:56 »
用 ps aux 來 grep ?
或是用 lock file?

17
網頁技術 / Re: 請問 jquery append 問題
« 於: 2018-10-25 16:42 »
這個插不上嘴.... Orz

18
有兩邊機器的 route table 嗎?

19
工作機會 / Re: 緯創在徵人,到底好不好?
« 於: 2018-10-16 09:14 »
想聽大大自身去面試的心得呢.... ^_^

20
對,一開始先用 virtulbox 這類裝看看吧,少一些麻煩。

21
Linux 討論版 / Re: linux 像休眠模式一樣
« 於: 2018-10-16 09:11 »
google 語音沒用過。
聽歌的話,我就用樹莓派DAC,有很多播放軟體(GUI)可以選哦~~

22
Linux 討論版 / Re: shell 問題
« 於: 2018-09-18 17:31 »
function只是define,還沒被呼叫啊。

23
Linux 討論版 / Re: shell 問題
« 於: 2018-09-18 17:23 »
要執行完backup再echo

24
Linux 討論版 / Re: shell 問題
« 於: 2018-09-17 16:52 »
cut_domain_string 裏面要寫 $1

25
我個人的方法都是用 csv 搭配 shell script 來進行...
網路上應該可以找到一些 linux batch create account 這類的文章,
通常就是用 for loop 逐行匯入 csv,再抓出相關欄位丟給 groupadd, useradd, passwd 這些命令來處理。

26
Linux 討論版 / Re: crontab內指令問題
« 於: 2018-07-26 20:51 »
關於 IO Redirection 的相關操作,可以參考我早年的文章:
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=218853&page=7#pid1636825

27
簡單點,可以在 /etc/hosts 定義 IP 與 hostname 的解析。

28
Linux 討論版 / Re: crontab內指令問題
« 於: 2018-07-25 20:11 »
看起來 180 是 hmpcfg 的參數...

如果 180 跟  > 之間沒有空白 (180> /dev/null)那就代表 File Descriptor 180 的輸出導到 null 去(shell 會在之前定義過 FD 180)

30
接下來就是找男人幫忙了
man 您的命令

您的命令 --help

此外,info也可以

頁: [1] 2 3 ... 497